I’d like Rust to get to the point where I can use an OS package for cargo/rustc and it works for a long time. I have not used Rust much but in the little bit I have I still have to go back to something like rustup because things are so in flux.
Ruby is old and stable language and yet it’s common to use similar tools: rbenv/rvm/ruby-build, at least on dev machines. OS package systems have limitations. At least programs written in Rust should be packageable and deployable without having to compile Rust runtime/standard library on production server.
Rust has lots of attractive features (chiefly a great type system and a familiar syntax) that make me want to use it, but the cognitive overhead of the memory system still makes Go and other GC languages the better value proposition for the overwhelming majority of projects I take on. To some extent, this will improve with familiarity, but the gap can never close completely (Rust will always require more thinking about memory than GC languages) and I doubt it will close enough to change the calculus. Still, I applaud the intentional attitude that the community takes toward continuous improvement.
If you don’t mind me asking, how long have you spent with it, and what did you struggle most with?
We have some decent stuff coming down the pipeline to ease up the learning curve, but there’s always more. I wonder how much what you’ve experienced lines up with other people’s.
What kind of stuff is coming to ease using the language? As someone who mostly works in Python and Haskell even basic stuff in Rust still trips me up. Things like when should I be using a reference vs directly passing value in? Which data structures should I be using for different problems? Etc. There is a mental overhead that is still slowing me down, so anything to help me get past that would be great!
Hey sorry, I missed this!
https://blog.rust-lang.org/2017/12/21/rust-in-2017.html is a good summary, see the “ergonomics initiative” section.
Sorry, I missed this. I don’t keep a very good inventory of things I bump into, and part of the problem is that if I understood my frustrations well enough to articulate them, they probably wouldn’t be so frustrating to begin with. Sort of a “beginner’s paradox”. I’ve been playing with Rust in my free time on and off since about 2014, but I still don’t feel like I’ve climbed the learning curve well enough to be passably productive with Rust (I might feel differently if my bugs could kill people, mind you!).
I’ll be honest, as a dude who never really learned computer science but spent a lot of years studying electronic and computer engineering, unless you make an abstract enough language like C, you aren’t getting to a C level low-level language. I would love to see automatic memory allocation for the HCS12 Microcontroller.