Ask HN: Fluent in go and Rust? Which one do you prefer and why?
You should have done at least a full project in both, a bit more than just scratching the surface.
I find opinions from people who only know one side not very useful, because they're usually judging on how they are imagining things to be, rather than how they would see things after giving it a serious chance.
Talking to an expert who knows both sides well is usually more nuanced.
I hope that makes sense. If this gives good responses, I would like to ask the same question about other polarizing technologies and paradigms. Like dynamic vs static typing for example.
9 comments
[ 2.5 ms ] story [ 30.6 ms ] threadGo is a little too verbose but in a stupid way. Rust is too verbose in a clever way. Go is so dumb it is mind numbingly boring. Rust is so clever it becomes boring to learn.
You can use go in about 1 way that works. Rust you can use in many different ways. My guess is that really knowing rust is 2-5x harder than really knowing go.
To really get into go you need to understand the runtime, scheduling and especially GC. For rust you need to at least understand the compiler the macro language and of course the borrow checker. Then if you want to do concurrency you need to look into async await or whatever is going on these days.
For whatever reason I find the go runtime fun to learn about and the rust compiler tedious to learn about.
Go tools are smoother and easier to learn. I know it makes me a philistine but fast compile times are nice.
https://cdaringe.github.io/programming-language-selector/
> Other languages provide drastically increased speed and correctness with comparable dx.
Like what?
IMO javascript has both terrible DX and performance and should be avoided unless you are doing front end.
Go quite a bit of boilerplate and initial setup to get going. It also requires you to think about pointer, pass by value vs reference, etc.
You can get someone who is brand new to programming writing simple Python scripts in less than an hour.