The more I've used golang, the more I've had a creeping suspicion that 'the emperor has no clothes'.
Go plays at being a system programming language, but it's really not. It's peers and competitors are languages like java and c#, not rust or c++. When you look at it from that lens, it fares badly. There's just a clunky feel that permeates the entire language, and it's creators seem to have no interest in addressing it.
I've said it before, and I'll say it again. Golang is popular because it was written by Thompson, and embraced by google. You have a whole load of devs that will simply embrace anything with such a pedigree because it 'must be state of the art'
> You have a whole load of devs that will simply embrace anything with such a pedigree because it 'must be state of the art'
Dude, at the end of the day I want something done. And golang has good libraries (esp network stuff), good IDE support, and compiles to single binary that's reasonably fast and easy to deploy.
The java and .net ecosystem come to mind if you're willing to have the java or .net runtime on your container (I never understood the big deal about binaries outside of embedded or other space constrained environments)
Command line tools etc.. for some types of servers too, Go has the advantage of less memory usage and faster startup. That said, for internal web apps or websites etc.., PHP / Django / spring boot whatever sails the boat.
The startup time has interesting implications for serverless. That was the big draw of golang for me. Cold boot time for a golang function is like half a second max.
One could say the same about plenty of awful programming languages.
If the blog post was titled "Go is unusable in production" then sure, he'd be wrong. But he's simply criticizing the language design. (Mostly, I might add, in the hopes that it will someday improve; the author writes Go professionally, he's not just some random hater.)
Go plays at being a system programming language, but it's really not. It's peers and competitors are languages like java and c#, not rust or c++. When you look at it from that lens, it fares badly. There's just a clunky feel that permeates the entire language, and it's creators seem to have no interest in addressing it.
I've said it before, and I'll say it again. Golang is popular because it was written by Thompson, and embraced by google. You have a whole load of devs that will simply embrace anything with such a pedigree because it 'must be state of the art'