Pretty image
Google releases a new programming language and John Shade finds a bit of Python in it.

Google has graduated a new programming language from its twenty percent program, the corporate scheme to turn moonlighting into yet another track of Google R&D by sidetracking employees’ natural inclination to bootstrap their own startups on company time.

It’s called Go. Ah, I bet it does. Say no more. Clearly they are not ripping off the author of the Go! language, because Google’s Go doesn’t have an exclamation point at the end. It’s exactly as if Google had created a web portal and search engine and called it Yahoo. No problem at all. The mascot, though, is a gopher, and I foresee a messy lawsuit by the University of Minnesota.

Go is being described as some sort of unsanctioned offspring of C++ and Python, and the question that naturally leaps every blogger and tech writer’s lips is, will Go join the long list of Google failures? You know, like Google Catalog Search, Google Answers, or Google Lively.

ComputerWorld thinks Google Chrome will be in that failure list because it is already failing to deliver what Windows delivers. By CW’s logic, the fact that Google has designed Chrome explicitly not to compete directly with Windows makes it a failure in competing with Windows. If I tried to follow that logic I’d need a chiropractor for my brain.

But see if you can spot the common theme in those failures. Got it? None of them was a released product. Not in the sense that, say, Windows Vista is a released product. Google Catalog Search was a “demonstration;” Google Lively and Google Answers were “experiments.”

Google doesn’t release products. Google moves technologies from unsupported internal project to unsupported leaked project, or from experiment to public beta, and then stops. If you never release a product, you can’t fail. If you never even announce a product, you can’t even slip.

Google has achieved the miracle of appearing invincible while lowering expectations to the vanishing point. This has led to Google technologies being routinely described as replacements for, or killers of, Microsoft products by everyone but Google. Google doesn’t release, and Google doesn’t compete.

Same with Go. “I don’t think we’ll replace anything,” Go co-creator Rob Pike said of the language. He doesn’t say that the number of people using C++ or C# won’t decline if adoption of Go takes off, he just doesn’t draw a connection.

So will Go take off? What virtues does it have that justify the creation of Yet Another Language?

Let’s see, rapid development, lightning fast compilation, so-called goroutines to make concurrent programming easy, garbage collection and runtime reflection. It embodies a model for building system software on multicore machines. And it’s open source.

Rather than ask of what use that particular set of virtues might be and to whom, the blogosphere rushes to brand it a failure because it isn’t the D language. Or because it has a complicated syntax, or because it has pointers.

Some of the criticism would make more sense if Go weren’t explicitly designed to be a systems language.

Then there’s the simplicity thing. Those who think Go isn’t simple or elegant enough may have overlooked two facts: (1) Google just released a language for Android development called Simple; this one has to differentiate itself; and (2) they did name it for a game that takes five minutes to learn and a lifetime to master.

You’d almost think that the inventors of Unix, Plan 9, and the Java HotSpot compiler had designed this language for themselves. But nah, that couldn’t be. Let’s just ignore the fact that the designers of Go have said explicitly that they built it for themselves. Or that they designed it for “the kinds of programs written by Google engineers.” Or that “We’re systems software people ourselves. We wanted a language to make our lives better.” No, they must have designed it to do whatever we think a new language ought to do, and that’s the proper standard to hold it to.

Google’s approach to technologies is to release them into the wild and let them find their ecological niche. It’s not an approach the lends itself to naming winners and losers. Betting on any given Google technology is a crap shoot, but betting against Google is as close to a sure losing bet as you’ll find.

This just in: AOL changes its name to BSOD, adopts solid blue screen as its logo.

John Shade was born in Montreux, Switzerland in 1962. Subsequent internment in a series of obscure institutions of ostensibly higher learning left him with a generally dark view of his fellow man and the firm conviction that a nod’s as good as a wink to a blind bat.