4 ms·
> There's no denying Go's initial allure, but in reality it fails to address in any systemic way the problems that have plagued the software development practic
by throwaway894345 3y ago
> There's no denying Go's initial allure, but in reality it fails to address in any systemic way the problems that have plagued the software development practice for decades.
Eh, loop variable scoping has bitten me a single digit number of times in the eleven years I’ve been using it. Zero values are definitely more frustrating. Lack of Rust-like enums is another pain point.
But these are relatively minor compared to what Go gets right that other languages don’t—I would happily jump ship from Go the very moment something arrives that outperforms it for my use cases, and indeed I try out every language that I hear better-than-Go hype about.
So far Rust wins at systems programming, but even with the enums and lack of zero values I spend so much time fighting the language (not just the borrow checker) or implementing traits, etc—far more than I spend debugging nil pointers and such in Go. And frankly Rust is the only thing I’ve found that comes close. Go is just an extremely productive language even if it has a few sharp edges (after all, people still write really important code in C, C++, or even fully dynamic languages—compare that with zero values!).
- sapling-ginger 3y ago> Eh, loop variable scoping has bitten me a single digit number of times in the eleven years I’ve been using it. Go ahead and ask them to remove this from the Frequently Asked Question section then. https://go.dev/doc/faq#closures_and_goroutines https://go.dev/doc/faq#closures_and_goroutines
- throwaway894345 3y agoIts presence in the FAQ indicates that a lot of people have run into it, not that people commonly repeat the mistake. What exactly do you think we're debating here?