Rust is one of the harder languages for beginners to learn because of its borrow checker and strict ownership model, but it shouldn’t take more than a month or two for a competent senior to pick up.
It’s going to be deeply unpleasant and seem like a problem if:
You’re writing dangerously bad C or C++ code already.
You’ve only ever used Python or JavaScript.
You try to shoehorn OOP and inheritance into it (Rust idioms are composition and functional programming).
You refuse to use/learn pattern matching.
You’re a pedant about “pretty” syntax.
If someone is at a senior level and any of those apply, they probably shouldn’t be at a senior level, though.
Can confirm, I’m a senior and I didn’t have much trouble with Rust. After a couple weeks, I was writing useful code. After a month, I generally stopped cussing at the compiler.
I’m still finding odd surprises here and there, but it’s honestly no big deal. I’m about as productive in Rust as I am in Python, which I use at my day job, though I use them for very different domains.
Oh I’m definitely whinging about it but it doesn’t make me stop using Rust. People coming from C or especially C++ don’t really have a leg to stand on, though, neither do people coming from ML. It’s Haskell people who get hit hardest.
I’m still learning Rust coming from Python and R and honestly point 2 and 3 are not even that bad. Sure I have been bashing my head against some corners, and the lack of OOP was somewhat unexpected, but imho the language really helps you think about what you are doing.
Rust is one of the harder languages for beginners to learn because of its borrow checker and strict ownership model, but it shouldn’t take more than a month or two for a competent senior to pick up.
It’s going to be deeply unpleasant and seem like a problem if:
If someone is at a senior level and any of those apply, they probably shouldn’t be at a senior level, though.
Can confirm, I’m a senior and I didn’t have much trouble with Rust. After a couple weeks, I was writing useful code. After a month, I generally stopped cussing at the compiler.
I’m still finding odd surprises here and there, but it’s honestly no big deal. I’m about as productive in Rust as I am in Python, which I use at my day job, though I use them for very different domains.
Oh I’m definitely whinging about it but it doesn’t make me stop using Rust. People coming from C or especially C++ don’t really have a leg to stand on, though, neither do people coming from ML. It’s Haskell people who get hit hardest.
Shots fired. Must be footgun that went off somewhere.
Anti Commercial-AI license
I’m still learning Rust coming from Python and R and honestly point 2 and 3 are not even that bad. Sure I have been bashing my head against some corners, and the lack of OOP was somewhat unexpected, but imho the language really helps you think about what you are doing.
Rust absolutely has OOP, that’s what Traits are for. It just doesn’t have classical inheritance, so you structure your patterns a bit differently.
That said, I lean more into functional-inspired style anyway, which tends to work pretty well w/ Rust.