• 1 Post
  • 31 Comments
Joined 2 years ago
cake
Cake day: July 24th, 2023

help-circle




  • Basically, the industry is not investing in new blood.

    Yeah I think it makes sense out of an economic motivation. Often the code-quality of a junior is worse than that of an AI, and a senior has to review either, so they could just directly prompt the junior task into the AI.

    The experience and skill to quickly grasp code and intention (and having a good initial idea where it should be going architecturally) is what is asked, which is obviously something that seniors are good at.

    It’s kinda sad that our profession/art is slowly dying out because juniors are slowly replaced by AI.


  • but it can be a very helpful assistant.

    can, but usually when stuff gets slightly more complex, being a fast typewriter is usually more efficient and results in better code.

    I guess it really depends on the aspiration for code-quality, complexity (yes it’s good at generating boilerplate). If I don’t care about a one-time use script that is quickly written in a prompt I’ll use it.

    Working on a big codebase, I don’t even get the idea to ask an AI, you just can’t feed enough context to the AI that it’s really able to generate meaningful code…








  • performance

    Like raw runtime performance, if I write the code in python, it’s ~ 100x slower than in Rust. You often get away with dumber stuff in Rust as the compiler is able to optimize it well. With python you would have to write your native bindings either in Rust/C or C++. So why not straight use Rust (as the other choices aren’t sa(f/n)e at this point anymore).

    Afaik you can just go to definition in literally any language, typing or no.

    No you can’t, at least not in the same way that a static type-system allows. As dynamically-typed programs are evaluated on runtime, so you often don’t know at the time while coding what is run. In untyped/dynamically typed languages you often use heuristics to jump into stuff, which is just less precise.

    There’s more to this, but I think you get what I mean, when you programmed more intensively with static generics in Rust (compared to something similar in say javascript or python without types), IDE experience is just more precise and correct (and more fun).


  • Nah it’s also a language matter. People complain about Rusts complexity, meanwhile I complain about everything else in other languages, and am faster than in any other language, not necessarily because writing code is faster, but because I am able to just focus on writing code. I cannot tell that about other languages, because e.g. the packaging system is bad, or configuring an environment, or debugging stuff which a strong type-system would have caught already. Also IDE experience I think is the one thing that keeps me away from dynamic languages. Rust analyzer is so much better than anything else I’ve tried, and it keeps getting better (e.g. recently it was added to show whether a trait is object safe or not, and why it is not).

    Another thing that is often missed when comparing static with dynamic languages is just performance, python heavily relies on stuff written in a system language, as soon as a hot-loop is written in python, things get bad


  • I haven’t, but everytime I try python I want to quit it so quickly because of the messed up packaging system and more importantly IDE experience (and I don’t think unless you are extremely disciplined with type annotations, that you’re getting even close to rust-analyzers performance). I enjoy just exploring dependencies with go to definition, and the trust I can have in the type system.

    I’m swearing everyday in my job about typescript, which is just javascript with leaky and unnecessary complex type annotations. So yeah I even consider typescript bad (and I doubt that python is better with type-checking).





  • I mean I can just take a job in the states, they pay quite a bit more there compared to Europe, and it can be even more targeted in the area of my interest (low-level stuff in Rust which pays even better than what I can find here)… Locally the jobs are pretty limited (at least those that interest me)… Everyone wants Java/C# or JS devs here (all languages I’ll try to avoid, and I suspect it has to do with maintaining old (tech-debt) code-bases which I try to avoid even more)… But I’m quite happy with my team currently and just have rant about JS everyday, but at least don’t have to maintain tech-debt (at least not something that I haven’t produced myself^^)… And I get great food for free… Hmm trade-offs.