Google’s Go Programming Language: Taking Cloud Development By Storm

What do popular projects like Docker, Heroku’s Force.com and Cloud Foundry’s (Go)Router all have in common? They’re all written in Go (a.k.a. “golang”), Google’s five-year-old programming language.

While languages like Java continue to dominate programming, new models have emerged that are better suited to modern computing, particularly in the cloud. Go, written expressly for the cloud, has been growing in popularity because of its mastery of concurrent operations and the beauty of its construction.

Cool With The Cool Kids

Google’s mascot for its Go programming language.

By some measures, Google’s Go programming language is a non-factor in development. Google Trends, which measures general interest in a search term, hardly registers a blip for Go compared to more established programming languages like Java, C++ and JavaScript.

But this doesn’t tell the whole story. While it’s basically impossible to figure out the number of jobs requiring Go skills, due to its generic name, there are a number of sources (see here, here and here) that suggest Go is gaining momentum as an important programming language for employers.

The best leading indicator of Go adoption, however, is its rise in open source development.

According to Redmonk analyst Donnie Berkholz’s analysis of Ohloh, which tracks 600,000 open source projects, Go adoption is real and growing:

While nearly 1% of Ohloh-tracked projects may seem small, Berkholz puts it in context:

Go is rapidly closing in on 1% of total commits and half a percent of projects and contributors. While the trend is obviously interesting, at first glance numbers well under one percent look inconsequential relative to overall adoption. To provide some context, however, each of the most popular languages on Ohloh (C, C++, Java, JavaScript) only constitutes ~10% of commits and ~5% of projects and contributors. That means Go, a seemingly very minor player, is already used nearly one tenth as much in FOSS [free and open-source software] as the most popular languages in existence.

This means, of course, that Go is becoming a really big deal, especially if we consider the outsized importance of some of its most visible projects on GitHub, like Docker.

Why Go For Go?

Google’s Go language is, not surprisingly, particularly well-suited to cloud development. But according to Rob Pike, one of Go’s designers, Go’s creators were originally trying to improve C++ but found it “too difficult to couple [necessary] concurrent operations with C++’s control structures, and in turn that made it too hard to see the real advantages.” Eventually he gave it up because “C++ just made it all seem too cumbersome.”

Go succeeds in part because it makes code composition elegant and easy, as Pike continues:

Go isn’t all-encompassing. You don’t get everything built in. You don’t have precise control of every nuance of execution. For instance, you don’t have RAII. Instead you get a garbage collector. You don’t even get a memory-freeing function.

What you’re given is a set of powerful — For more information read the original article here.    

Leave a Reply

Your email address will not be published. Required fields are marked *