Google says Go doesn't differ from these other languages just for the heck of it. The stated goals of Go are to compile quickly, run quickly, and bridge the gap between the ease of dynamic languages and the power of static ones, all while offering support for advanced features such as multiprocessing.
Go's creators are hardly programming newbies, either. Ken Thompson is one of the original Unix hackers and laid the groundwork for the language that would become C. His longtime collaborator Rob Pike invented the Limbo language and worked on the Unix and Plan 9 operating systems. And Robert Griesemer helped to develop the Java HotSpot virtual machine at Sun.
But it's not as if Go is the first language to be designed by veteran coders. For example, C# offers significant advantages over C, too, and it was largely the brainchild of Anders Hejlsberg, the original author of Borland's wildly successful Turbo Pascal compiler.
By offering not just a new framework, library, or runtime, but an entirely new language, Google seems to be saying there was no way whatsoever to achieve its goals with any existing C-like syntax -- be it C++, C#, Java, Objective-C, or anything else.
If Google says so, it must be true. Meanwhile, there are countless dedicated programmers working to see what can be done with all of those languages and many others. I guess they're just not doing it at Google.
Where should developers' loyalty lie?
Don't get me wrong. There's nothing wrong with variety, and we certainly haven't reached the pinnacle of what programming languages can do. What's troubling to me, however, is how more and more languages seem wedded to a particular vendor's point of view or business model.
As C++ creator Bjarne Stroustrup told C++ Report in a 2000 interview, "It was very important to the success of C and C++ that AT&T didn't try to monopolize these languages ... There was no systematic marketing of C or C++ before they became established languages and multiple vendors started competing. This noncommercial spread of C and C++ appealed strongly to many programmers."
Google has done the right thing by releasing Go under a BSD-style open source license. But there are plenty of open source projects that remain fundamentally tied to a specific company -- MySQL is just one example. If Go is going to change the programming landscape in any important way, it has to become more than just "the Google language."
I fear the day a computer science education includes courses in coding philosophy: one for Apple, one for Microsoft, one for Oracle, and one for Google. "Pick your poison and go get a job."
Developers should be loyal to good code first and foremost, not to the companies that provide their tools. Living up to that standard was easy in the days of Basic, Pascal, and C. But when the choices are C#, Objective C, Java, and Go -- all of them similar, but all of them fundamentally incompatible -- I wonder if it's even possible.