Go's success has me confused. My team enjoys using Go, but to me it feels like i'm a prisoner. The designer's slavishly followed opinions are laser focused on reducing variation across go codebases. There's definitely less to learn than most languages. Unfortunately, sometimes the blessed way of doing things doesn't work well for your problem and not only are you left with a hammer to cut the wood, but making a saw is outlawed.
The article hits on this but doesn't bring up Google's high turnover rate.
Google is a resume tick box. Go over to AngelList and look at lists of startups. Take a drink every time you see 'worked at Google' listed as a qualification. You'll be destroyed in an hour or so.
Thus people get jobs at Google, put in a year or two, and go off for a higher paying and/or sexier job or a startup of their own.
Go is laser focused on simplicity, maintainable code bases, and uniformity to allow the next crop of Valley recruits to pick up where the last crop left off.
If this was true, and not a just-so story, then it should be easy to point to several well-known open source projects that started out in Golang and ended up in some other language, or several concepts that were prototyped in Golang and then ported over to some other language.
Like every programming language ever, there are surely many Golang users who've used it solely to add a keyword to their resume. That's not a very interesting observation, because the same thing is true of Rust, Scala, and even Haskell.
Further, that doesn't really address the question of why so many teams select Golang in the first place. A programmer might use Golang to get the keyword on their resume, but a team shipping a new product has no such incentive.
Some combination of Scala and C++ probably. Golang's central value to me right now is that I can keep a team that is split on those lines happy and cohesive. Which is more than enough of a benefit for me to put my own distaste in the background
The next language I want to learn is OCaml, but thats because I'm sort of obsessed with unikernels.
I think people who use Go in the first place are not those who think much about "can this be done in a better way?".
It's quite similar to the notion of "I'm a PHP developer and I don't understand why everyone says it is terribly designed! I learned to work with it and never tried anything else, so it can't be that bad!!!".
Not every developer cares about software development. There are plenty of people who chose this profession after they heard that a random developer can become the next Bill Gates by writing the right iOS app.
Having a language which doesn't require an inexperienced and non-interested developer to reflect on all the lessons learned in the last 40 years of software development and computer science fits the bill of this kind of person pretty well.
Sure, he/she is missing out on 4 decades of improvements to this profession, but who cares?
Despite all the medical advances, there is still an economic niche for quacks selling "cosmic crystals" to cure your cancer.
There is nothing wrong with this. People don't pick a job in finance, because "they like to work with numbers" either.
Your argument seems to rely on go being the first language someone has learned. Very few people learn go as a first language. Most people I know in the Go community have 10+ years of professional development experience in a variety of the popular imperative languages and have used go for a couple years. I'm sure there are probably some people learning go as a first language by now, but I doubt it's a significant number.
So, "not knowing any better" is kind of ridiculous.
There are plenty of people out there which didn't manage or didn't need to advance beyond their first-year experience for the last ten years. "What did X do?" is a much better question than "How long did X do it?".
(For many jobs one year of experience is perfectly fine!)
I think people who can think critically and evaluate various options rarely join personality cults, which kind of explains Go's current community.
Any sources that say Google had a high turnover rate? Only things I can find is that most employees have a short tenure, which seems to be due to lots of hiring.
For any big company, you end up with hordes of lazy or worse, very bad programmers. You need a COBOL-like language to allow them to produce things and not mess up things too badly.