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.
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:
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.