I think it misses

* Made by really famous veteran language designers

* Backed by Google

Not saying it doesn't deserve its popularity, but most of the things listed are not necessary for explaining its popularity, and none of them (even taken together) are sufficient.

In my case "backed by Google" was a deterrent, not a feature. I gave the language a chance after trying Rust (backed by Mozilla - which was a feature to me ;-) and I found it easy to start.

Go is very well documented: That was the killer feature for me.

No more search tutorials / videos etc. - just get the go book, read it, and start coding.

Of course there are tutorials and videos everywhere for fun stuff.

But good documentation is more important than we think - even in the 21st century!

To me, in the old Go vs Rust debate, there are two things that are abundantly clear in making a compelling case for Go.

First, I don't think even the most devoted rustacean can deny that Rust has a hell of a learning curve.

But perhaps most importantly is that Go has a strong and extensive standard library that covers many 21st century applications (e.g. talking to REST APIs).

The problem to me with the Rust "no stdlib" model is it leaves you with two equally unattractive options:

      1) Write the library yourself (and leave yourself with the associated technical debt of maintaining it)
      2) Figure out which of the often dozens of third-party Rust crates you want to use (and rinse and repeat the selection process for every library, and then expose yourself to third-party maintenance debt).
There are curated lists of Rust crates to help with the second issue: https://github.com/rust-unofficial/awesome-rust

And those two options don't strike me as equally unattractive. Writing everything that isn't in the standard library from scratch is completely impractical for modern apps. Nobody does that in Rust. Integrating crates from the ecosystem into your workflow is just part of developing in the language.