3 ms·
> The difference between Go and Rust is that I can (and have) teach any Java coder to be productive in Go in about a week. > I couldn't teach _myself_ Rust in
by littlestymaar 3y ago
> The difference between Go and Rust is that I can (and have) teach any Java coder to be productive in Go in about a week.
> I couldn't teach _myself_ Rust in a week.
Autonomous teaching is supposed to be harder than with a tutor in any domain so it's not particularly surprising ;).
> But you do need to acknowledge that there is a definite learning curve
I don't like the “learning curve” phrase for Rust, because the curve itself is actually fine.
But before you can even enter the learning curve there's a significant step to cross. It's not particularly difficult, but it's all about theory and concepts. It's like high-school level trigonometry, it's not particularly hard, but it's still something a bit dry and that needs motivation to learn.
With a teacher and assignments, most people can do it, but without it you really need to make the effort of understanding the core concept (Ownership, borrowing, Send and Sync, + heap and stack if you don't know about it before hands + what are threads, data race and locks[1]) before you can even start to get to the fun part of learning a new language.
> and the average Job Coder (works from 9-5 and doesn't think about it on their free time) isn't cut out for Rust.
Without an external motivation source, the average developer has no reason to have the motivation to cross this learning step.
But as part of my job, I've thought Rust to average Joe in a week and they became productive quickly. I'm sure I could teach you Rust in a week ;).
[1]: the deadlock empire is an excellent learning resource for that one.
- temporarely 3y ago> Autonomous teaching .. ;) Sure, but you can teach yourself Go in a couple of days, likely having running code from the get go. I think with Rust you will have more frustrating interactions with mr. compiler in the beginning.
- cchance 3y agoI found them about equal honestly
- temporarely 3y agoInteresting. I only butted heads with Golang in the second phase of use. This is when we were fed the mantra of "you're not doing it right" and "the go way" (which turned out to be true.) This was an unusual experience for me in terms of programming. Rust (never tried beyond reading the spec :) per comments over the years also has that feature but unlike Go it is not something you can just pick up in a day. I released the initial working cut of an OSS driver for a DB 3 days after Go was released. I doubt I could do the same with Rust.
- cchance 3y agoI think rust and go are similar on the first run through it’s once you hit lifetimes that things get confusing for complex things, but then if people would start properly name lifetimes in their code instead of just tagging everything with the same lifetime name or worse the same anonymous lifetime they’d more easily understand why most lifetime errors are happening.