3 ms·
The last time I was on a team using Go, we ended up ditching it for these reasons. We realized it took about as much specialization and wheel reinventing as Ru
by steve_adams_86 4y ago
The last time I was on a team using Go, we ended up ditching it for these reasons.
We realized it took about as much specialization and wheel reinventing as Rust, which offered way better developer ergonomics in ways that mattered to us and wouldn’t panic over things that weren’t easy to predict or caught by the compiler.
There were still tons of trade offs, but it worked well for us. Go is cool but I still can’t seem to figure out where and when I’d prefer it most of all… Especially the poor error handling and lack of safety. These things really drive me crazy.
- uh_uh 4y agoI prefer Go when I want more safety/performance than Python but less ceremony than Rust.
- stayfrosty420 4y agoI think the latter point about "less ceremony" is extremely debatable especially on a larger project.
- uh_uh 4y agoHow does Go have more ceremony than Rust without a borrow checker, lifetime annotations and all?
- SideburnsOfDoom 4y agorelated, how does having no unit tests have more ceremony than a full test suite? (and yet it will do so, as you try to find other ways to make your code safe to release)
- adolph 4y agoThis is why languages like Go offer automatic dynamic memory management, or more simply, garbage collection. https://medium.com/safetycultureengineering/an-overview-of-memory-management-in-go-9a72ec7c76a8 https://medium.com/safetycultureengineering/an-overview-of-m...
- mynegation 4y agoI think the point is not that Rust has less ceremony (it certainly has more), but that you want the “ceremony” for larger scale projects.
- steve_adams_86 4y agoFair enough, there are certainly cases where Go is an awesome tool to use.
- bbkane 4y agoDoesn't Rust also have competing nonstandard ways to handle errors? Right now I think they recommend 3rd party libraries for it (anyhow, one other I don't remember), and those library recommendations have changed over time
- steve_adams_86 4y agoI’ve been content with the error handling the language offers, but maybe there are scenarios where it isn’t sufficient that I haven’t encountered.