Learning Go by porting a medium-sized web back end from Python
I can agree with most of the article, but for some it looks like we have not been using the same language ecosystem at all.<p>Go really feels opinionated around the wrong things, in order to claim &quot;simplicity&quot; as a feature:<p>- No generics just mean you&#x27;re going to be handing interface{} all the way in your stack, it makes things more complex and less readable for no reason (and less safe)<p>- error handling which is essentially string-based, in 2017? Give me a type system, please<p>- gofmt is a good idea (just like clang-format or yapf), and having it is great, but the maintainers specifically refuse to add simple features, saying &quot;running it in an automated process is not supported&quot;, despite all github projects already having it in their automated CI suite<p>- go test is good, but in the end it is found lacking<p>- dep, well, if you don&#x27;t mind dumping the code for all your deps in the source tree, it&#x27;s probably ok, but it solves a deficiency that the language should not even have (see next point)<p>- stability: the language itself is fine on that, but the ecosystem really isn&#x27;t. The fact that they don&#x27;t even have the package management quality of python (which I find awful already) is baffling. I don&#x27;t even know how they could think &quot;yeah, github-importing is a good idea, let&#x27;s do it&quot;. Go is eight years old tomorrow and you still have to rely on third-party tooling to do proper imports that don&#x27;t burn your house.