Hacker News new | ask | show | jobs
by parshua 2190 days ago
Go is a significantly simpler language than Rust, and has a garbage collector. You can learn Go in a weekend, and experiment with it in a couple more. Rust on the other hand has a steep learning curve which will take at least a couple of months to get good at. So if I were you, I'd start by learning Go, seeing if it fit my needs, and then learning Rust later on if I had a use case that Go wasn't a good fit for.
1 comments

I’m not familiar with Rust’s tooling but i’m wondering whether the dev workflow involves explicit manual recompilation? Eg. in Haskell modern workflows are about conversing with the compiler real-time ie. make a type error and it is immediately pointed out and thus explicit recompilation is not part of it anymore. I’d be mildly surprised is something like this does not exists for Rust.
Rust is a compiled language, so you will have to recompile. Incremental compilation helps to a certain degree. There is IDE tooling that helps with a lot of issues you may encounter, but in the end, you still have to recompile to run your code. Same applies to Go as well. I have never find this a shortcoming of any language, but YMMV.
> Rust is a compiled language

So is Haskell. What I'm saying is that in 2020 the dev workflow is not: code, compile, run, repeat. Thanks to modern tooling it is now a near-instant feedback loop of: code, red wiggly line(s), fix, repeat. Ie. real-time conversation with the compiler.

rust-analyzer brings this to the table, but it's a pretty recent development. The RLS existed for a while before that, and gave a basic version of this story, but it was much slower.