this post was submitted on 27 Jun 2023
33 points (100.0% liked)
Programming
13386 readers
1 users here now
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Two thirds being confident to work in Rust within two months of learning it doesn't sound particular fast, tbh.
In our company we're currently transitioning from old-school Java to Google's Dart (plus the Flutter framework), team by team. You get one to three days to set up the environment, reading and doing some codelabs, a course of two days and then you start developing in the decently big Dart codebase the other teams already prepared, starting your daily development business. (A second two-day course follows some weeks later). Well, nobody (systematically) asks if you're feeling confident to contribute in Dart, but it obviously works and I haven't heard any "I can't get my head around this" type of complaints.
Sure, maybe going from Java to Dart isn't that much of a change as going from whatever these 1000 folks at Google came from to Rust, but if one third of the developers does not feel confident to develop in Rust after two months of learning it, this sounds like a lot to me.
I think it really depends on your history and the goal of your app/library you want to achieve I guess (the more control over the whole stack you need the more likely it makes sense IMHO).
The thing I really like with Rust (compared to the countless other languages I have used) is that you can just focus on the actual problem itself (be it learning of the language itself or writing your app/lib). The whole ecosystem (cargo, rust-analyzer, crates.io etc.) just works so well that it isn't a blocker (compared to a lot of hassles I had with different ecosystems).
I think it's absolutely worth to invest a little bit of time (and that time got way shorter compared to the time when I learned Rust, because tooling got much better in the meantime (namely rust-analyzer)). I think it will pay of long-term (in easier/more maintainable/efficient/safe software).
Also, "not feeling confident" can mean a lot of things, I consider myself writing quite good idiomatic Rust, but there are still often times when I see a codebase that is "above my paylevel" (e.g. what you can do with traits is pretty fancy, and allows quite some interesting stuff).
I think the beauty of it is, that you can write simple Rust pretty quickly (I think much less than two months, general beginner advice, better clone or move than fight with the borrow-checker). But as you progress you always learn new things to increase the ergonomics/efficiency of your codebase.