Google's C alternative gets an update, but will developers bite?

Google releases Go 1.2, but questions remain about programming language's uptake among non-Google developers

Happy birthday, Go.

Google's C-like language, designed (according to one of its creators) for writing "big software," recently reached two distinct milestones: Version 1.2 of the language was released on Dec. 1, and the language itself is now 4 years old, having been released to the public as an open source project under a BSD-style license on Nov. 10, 2009.

So why create Go -- let alone program in it -- especially when C/C++ still enjoy such widespread use? Google claims Go was devised to take advantage of multicore processors, provide modern language features such as dynamic typing and garbage collection, and get rid of many of the burdensome aspects of C-like languages (such as include files). It compiles quickly and promises a high degree of performance. (A recent set of benchmarks clocked Go 1.1.2 against C using the gcc compiler on x64 Ubuntu.)

Google has a whole welter of justifications for Go as a go-to language for many problem domains. The Go project's FAQ notes that "no major systems language has emerged in over a decade, but over that time the computing landscape has changed tremendously." HP cloud software engineer Matt Farina has written that Go's benefits stem from it being "engineered" rather than "hacked together over time."

The problem is whether Google's ambitions for the language will be matched by its uptake among developers.

When word of Go first started circulating, InfoWorld's Neil McAllister felt it was "a nonstarter" and pointed out that Go being open source doesn't make it any less tied to Google (look at MySQL and Oracle). "Developers should be loyal to good code first and foremost, not to the companies that provide their tools," he wrote.

In the years since Go's first release, it still hasn't made much of a dent outside Google enclaves with the programming world at large. The same seems true of many other Google language projects. Last year InfoWorld's Paul Krill looked at the Tiobe Programming Community Index and saw Go hadn't even cracked the top 50, while Google's "JavaScript killer" Dart language was ranked 78th.

Today's Tiobe rankings show Go at No. 49, with a mere 0.214 percent rating, and Dart not even cracking the top 50. C, Objective-C, C++, and Java are the current top four. And JavaScript, which Dart was designed to displace, is at No. 10 and holding firm.

The promise of Go -- with the speedy development of languages like JavaScript and Python and the robust power of C++ or C -- is still outstripped by many of the issues that inhibit new programming languages. Those include the mutability of the language itself, the risk involved in committing to something new and untested vs. the rewards of going with what's well-known and widely deployed; and the fact that Google's commitment to any one project is always a toss-up. (At least current support for Go at Google does seem robust, as it's one of the languages supported by Google App Engine.)

However, those companies that have used Go in some high-profile production contexts tell a different story than the statistics. Braintree Payment Solutions gave Go a try earlier this year and liked what it saw -- although not enough to keep the company from rewriting the Go-based app in another language. "[Go's] ecosystem for developing Web applications is still extremely immature," Braintree wrote, citing problems with Go's database libraries and the lack of robustness in its Web framework compared to solutions like Rails or Django.

On the other hand, Iron.io claimed it was able to consolidate some 30 servers down to two with Go's help. And Bitly was fond of what it was able to do with Go, although it found issues as well -- among them being Go's garbage collection, one of the more highly touted features of the language. And Erik Unger, creator of the go-start framework, is tracking a number of widely cited use cases for Go.

This story, "Google's C alternative gets an update, but will developers bite?," was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter.

Mobile Security Insider: iOS vs. Android vs. BlackBerry vs. Windows Phone
Join the discussion
Be the first to comment on this article. Our Commenting Policies