← Back to context

Comment by freedomben

2 days ago

> Relatedly, a year ago I was excited to learn the Rust language. Now I don't see the point (And I'm building tools with Rust). I'm sure this sentiment extends across fields.

I'm in a very similar boat! I've had rust on my to-do list for a very long time, but never found the bandwidth in the personal life to actually dig in enough to get proficient. Since AI has come around, I've been able to write a lot of tools in rust and just learn little pieces as I need to. My first couple results were not very great as I didn't know what I was doing, but I've learned enough about structuring good rust apps from the experimentations that I can crank out something pretty decent now.

The AI is so good at holding my hand that it has fundamentally changed how I approach unknown languages and stacks. I used to pick the best stack that I was proficient with for the job. Now I pick the best stack for the job, and become proficient in it. Pretty wild times we live in.

> and become proficient in it

From reading your comment, I suspect you are not becoming as proficient as you might think.

  • That's fair, I should have defined proficient a little better. By proficient I mean, I can read Rust code and roughly understand what it's doing. I understand idiomatic patterns, and can identify when something especially an AI, has gone against those. I am familiar with the toolings capabilities and limitations, and I can make use of them directly. I can write rust code without having to use AI, though I do still need to lean on documentation, but I don't consider that to be non-proficient as I am definitely at least proficient in C++, elixir, Ruby, JavaScript/type script, and a few others, having written many non-trivial applications in all of those over the last 20 years, and I still reference documentation all the time. I can look at a rust project's organization and infer details from it, and spot areas where things look janky. I can read and understand the details and code examples in the rust book without having to look up earlier sections on syntax and things like that. The point where I would consider myself proficient was when I was able to read the ownership sections and understand them.

    Note that when I say proficient, I in no way mean mastery. It will take years to get to that point. Rust is still one of my weakest languages overall, but I've been surprised at how quickly I've been able to get up to speed with AI assistance.

    At this point, nothing I've written with AI is something I don't think I could have written by hand if I had significantly more time to do so.

    On a side note, one thing that I have not enjoyed about the Rust community, is a general attitude that rust is hard. I personally find rust to be a whole lot easier than c++ was/is. There's definitely a lot to learn around the ownership model, but it's not rocket science. One of the things I love about Rust is how expressive it is, without compromising on performance and developer empowerment. I'm not implying that this is what you did with your comment as I have no idea what your intentions or thoughts were, just making an observation that this is something I haven't liked.

    AI is definitely not a silver bullet for anything, but it has bridged a gap that kept me from diving fully into rust in the past, which is that at the end of the day I need to actually ship something. I learn languages for fun, but also for practical use. A theoretical language that I never use is not interesting to me because it's not useful to me because I can't ship anything with it. AI lets me ship actually useful things for just myself as part of the learning process, and it also gives me a great opportunity to debug Rust code that I know the exact intention of. When trying to clone someone else's project and review or debug that, there's a massive upfront step of understanding what it's supposed to do. When it's my code AI generated, I know what it's supposed to do because the requirements/prompts came from my own mind. That's hugely powerful and something that a lot of other old school developers don't seem to understand yet.