3 ms·
What concerns me even more than the talent pool is that Rust is a language that isn't straightforward to learn. I can be confident to teach any average develop
by realusername 2y ago
What concerns me even more than the talent pool is that Rust is a language that isn't straightforward to learn.
I can be confident to teach any average developer about Go without any prior experience relatively quickly, I'm not so confident I could do the same with Rust.
- amelius 2y agoGo is also a more productive language for many use cases.
- jcgrillo 2y agoMy experience is the opposite. I spend a lot more time in a debugger when I work with golang than when I'm working with rust. Sure, there's a learning curve with rust's borrow checker, but once you figure out how to use it I find rust to be a much more "flow state" development experience, with less interruptions of the form "what is this program actually doing and why?"
- sunshowers 2y agoOn day 1, yes, a newbie to Go would be able to be more productive.
- ramon156 2y agoThese comments make it seem like it's impossible for people to learn Rust. I have to admit that it takes a fair bit longer than other languages, but so is c/c++. Is there a bias towards not using Rust by other devs? Is it a scary language?
- realusername 2y agoI'd put the same concerns for C and C++ to be fair. The learning curve just isn't the same as most other mainstream languages.
- ttfkam 2y agoI'd put even more concerns on C++. All the same concerns plus all the concerns that arise from the compiler not helping you nearly as much. It's easy with C++ to be lulled into a false sense of security because it compiles, and your trivial happy path works. Under load or with unforeseen input, the chance for memory corruption is massive even for experts let alone beginners because it only takes one to bring down a whole process. C++ is better than it used to be, but it was truly atrocious in that regard for decades. It was simply the least worst option for those decades. I do not consider it the least worst option anymore.
- ttfkam 2y agoA garbage collector really takes away a huge amount of cognitive overhead. In doing away with it, Rust requires that you understand the borrow checker and lifetimes, even if minimally due to extensive use of .clone() in your early code. This ties into all of the different kinds of strings in Rust from str to string to vec[u8], etc. Unlike Go that only really requires experience in general programming to become rapidly productive, Rust basically requires that you read The Book in its entirety before you even think about applying that knowledge in production. There are just to many interdependent concepts to hand wave away the prep time. It all (mostly) makes sense once you've familiarized yourself with the basic concepts, but it's a training step you simply cannot skip without inflicting a fair amount of pain on yourself and others.
- 2y ago