The article indirectly raised a few questions for me:<p>Why is there a massive skew favoring Googlers having their proposals implemented compared to plebes? Did the stats change after rob's talk in 2012?
A separate issue - I never know exactly what people mean when they say this:<p><i>"Diverse teams are more innovative and adaptable than monocultures."</i>
Go was made in China over 2500 years ago at which point it was called yì (弈). Then some guy had to name his programming language Go and make "Go programming" hard to search for.
I have a question about the design of the garbage collector of Go. Does it also clean up goroutines that are waiting on a "forgotten" channel? And does this apply for processes waiting for each other in a cycle?
Start with an existing language (Brand X). Reimplement it almost identically with modern-looking syntax. Improve and worsen it with some change. Give it a new name. Apparently a method that works:<p><a href="http://cowlark.com/2009-11-15-go/" rel="nofollow">http://cowlark.com/2009-11-15-go/</a><p>In all seriousness, though, they could've just independently rediscovered a lot of wise design decisions. Strange if they'd never seen this one studying programming language history, though. I'm with the author wishing they applied the innovations that have happened in recent decades or even new ones. Julia is an example of an imperative one that tries to do that.
Although Go is more popular than ever, I'm not sure the following observations are good signs. Something about them makes me uncomfortable.<p><i>"The decision process was consensus driven."</i><p><i>"The first Go program was the prime sieve."</i><p><i>"In July 2008, the project became more serious."</i>
> Go began with Robert Griesemer, Rob Pike, and Ken Thompson. “What should a modern programming language look like” (the story goes as they were waiting for some C++ to compile).<p>Cute. Nice to keep a dig[1] going. Since that horse has been kicked quite a few times over the years, how about those in the Go community address these language criticisms:<p><a href="http://yager.io/programming/go.html" rel="nofollow">http://yager.io/programming/go.html</a><p>For specific examples from the aforementioned link:<p><pre><code> The "correct" way to build generic data structures
in Go is to cast things to the top type and then
put them in the data structure. This is how Java
used to work, circa 2004.
</code></pre>
And:<p><pre><code> Go has the null pointer (nil). I consider it a
shame whenever a new language, tabula rasa,
chooses to re-implement this unnecessary
bug-inducing feature.
</code></pre>
Of which the latter has been regretted by its inventor[2] for years.<p>1 - "[C++] certainly has its good points. But by and large I think it's a bad language." (source: <a href="https://en.wikiquote.org/wiki/Ken_Thompson" rel="nofollow">https://en.wikiquote.org/wiki/Ken_Thompson</a>)<p>2 - <a href="http://www.wisdomandwonder.com/link/2015/tony-hoare-sorry-for-inventing-the-null-pointer" rel="nofollow">http://www.wisdomandwonder.com/link/2015/tony-hoare-sorry-fo...</a>