8 ms·
Go has an extremely well-developed library for writing networked clients and servers, and a concurrency model that prioritizes being performant for large number
by fiatmoney 13y ago
Go has an extremely well-developed library for writing networked clients and servers, and a concurrency model that prioritizes being performant for large numbers of mostly-non-interacting tasks that should yield on blocking (eg network requests, DB access, IO in general).
It has not-very-good support for things like custom data structures, type-based programming, and high-performance math, and prioritizes using its own idioms in code to the detriment of any other model of programming. Rust has better support for all of these.
I've only toyed with Rust, although I've written a fair amount of Go, but honestly, I don't think they're trying to do the same thing at all. It's not C++ vs. D, it's more akin to Scala vs. Haskell.
- NateDad 13y agoYeah, they're really different languages. They're not in competition at all, any more than C++ and Python are competing. They're different tools for different jobs. The only thing Go and Rust have in common is that they're compiled and produce native executables.