3 ms·
Many of the deficiencies he noted are easily mitigated by tightly integrating the Go toolchain (and in particular the metalinter) with your development environm
by sp527 9y ago
Many of the deficiencies he noted are easily mitigated by tightly integrating the Go toolchain (and in particular the metalinter) with your development environment and CD workflow. I highly recommend vim-go for Vim users.
The flat namespacing is rough at times, but you get used to it. It also encourages you to be judicious in what you make global, which is imo a great thing. I haven't had a problem with capitalization. It's jarring at first, but you just get used to it.
There also isn't nearly as much magic as that cherry-picked example might lead you to believe. Then again, having worked with Ruby/RoR, I've seen just how gross magical behavior can get shudders and maybe my definition of 'magical' is a bit more forgiving. I'd like to see a more comprehensive list of such grievances.
It's possible that the Go ecosystem has improved considerably since the author wrote this (~1.66 years ago), so I'd love to hear his take on it in the present day. I do agree entirely about the horrific use of interfaces and lack of generics. I'll also throw in the lack of enums and poor default error convention/semantics as additional glaring issues.
This is all made that much more vexing by the fact that Go is so damn close to being a really great language.