Go is not an easy language
Why gripe about how difficult it is to do concurrency in Go?  It is difficult to do concurrency correctly in ANY mainstream language.  Go offers more support for concurrency than most: goroutines, channels, non-blocking I/O, great networking and HTTP support, ...  There is a book specifically about this ("Concurrency in Go" by Katherine Cox-Buday) that carefully explains how to do concurrency correctly in Go.<p>Go has become the language of cloud infrastructure:<p><a href="https://hackernoon.com/go-has-indeed-become-the-language-of-cloud-infrastructure-rob-pike-q51a3wle" rel="nofollow">https://hackernoon.com/go-has-indeed-become-the-language-of-...</a><p>And there are lots of developers who want to use it:<p><a href="https://zoolatech.com/blog/why-use-golang-for-your-project-a-most-wanted-programming-language-in-2020/" rel="nofollow">https://zoolatech.com/blog/why-use-golang-for-your-project-a...</a><p>Are there things we would want added to the language?  Sure.  Generics.  Check out the progress:<p><a href="https://thenewstack.io/this-week-in-programming-go-approves-generics-long-at-last/" rel="nofollow">https://thenewstack.io/this-week-in-programming-go-approves-...</a><p>If there are other things you want added, it's open source, and you can join the team working on it.<p>Don't lose sight of the fact that Go has done alot of things right, and is GREAT the way it is right now.
The uptake in the developer community proves it's worth.