Why Go gets criticized so much
Disclaimer: I work at El Goog.<p>I recently moved teams so that I could use Go exclusively. It&#x27;s often been said that Go solves the problems Google developers have, and it&#x27;s 110% true. It&#x27;s much easier to get things working, and it&#x27;s much easier to write things like Protocol Buffers. But the key for me is that Go isn&#x27;t fun in the sense of &quot;wow, I&#x27;m so smart that I managed to one line this thing&quot;, it&#x27;s fun in the &quot;wow I read this code and I can understand what&#x27;s happening and hack on it to do something else.&quot;<p>I&#x27;ve worked on teams with monolithic Java code, and it&#x27;s nigh-on impossible to understand what&#x27;s happening and where you are in the logic flow. I don&#x27;t have that problem in Go. I even delve into the standard libraries to see how the original Go devs did something, and I both understand it and think it looks like code I would have written too. I never get that feeling from any other language, where I feel like the standard libs are written by hyper-intelligent aliens.<p>When I exclaimed this internally, I got the sarky comment &quot;It&#x27;s almost as if the things Go leaves out makes it easier&quot;. And that&#x27;s the core of it. Would I like generics? Sure; I do miss map(). But that&#x27;s it.<p>Go is opinionated. People that don&#x27;t like Go don&#x27;t share the opinion. That&#x27;s OK. It&#x27;s taken me a long time to realize there is no One True Language that can do everything (it was soon after steveklabnik said something along the lines of &quot;I don&#x27;t know why you&#x27;d want to write a web app in Rust&quot;). Once you get there, you won&#x27;t hate Go anymore, nor indeed any other language.<p>Apart from C++. Screw that ;)