But the question is whether this will persist as more apps move to the cloud where Google's Go programming language is such a perfect fit.
Java: The once and future king?
Java never seems to get old. While originally designed for interactive TV in the 1990s, Java today powers enterprise applications, Android development for mobile apps, and just about everything else. Java pays well: with over 9 million Java developers globally, the median salary for a Java developer in the US is $83,975 (USD). That's real money.
Perhaps it's this very general purpose nature of Java that gives it such staying power. What's particularly interesting about Java is that it's not merely a mainstay with older developers, but it dominates development among the "cool kids" on GitHub and Stack Overflow, as Redmonk analyst Stephen O'Grady's analysis shows (Figure A):
In case you're struggling to parse the plot above, O'Grady breaks down the rankings in this way:
6. C++ / Ruby
17. Visual Basic
19. Clojure / Groovy
Even so, Redmonk's data maps closely to O'Reilly's analysis of popular programming languages (via book sales), not to mention Indeed.com job postings (Figure B):
Popular programming languages.
Will Java hold onto its lead?
Go, for its part, is also soaring, as Berkholz's analysis shows. As he describes, "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." Go makes it easy to code for the cloud and has taken off as a result.
While Go didn't make the top 20, over the last two Redmonk reports, it's jumped seven spots to sit just outside the top 20. This programming language feels like it's prepared for an extended run. As Iron.io describes in a blog about its transition away from Ruby, Go has a number of factors in its favor:
And while the Iron.io team worried about finding talent that knew Go, "we soon found out that we could get top talent because we chose Go." Talented engineers want to work with the latest and greatest.
Will it be enough to displace Java at the top of the programming language heap? Unlikely. But given that Go was written expressly for cloud architectures, and more of our applications are moving to the cloud, it's very possible that fit-for-purpose (Go) will make a big dent in general purpose (Java) over time... as the cloud becomes general purpose.
Go, after all, makes it relatively easy to deliver concurrent operations, plus offers other features that fit the provisioning models of clouds. It's an optimal language for the kinds of applications we increasingly build, both within and outside the enterprise.
True, Go didn't make TechRepublic's list of the "best programming languages to learn in your spare time," but it's increasingly the language developers will need to learn on their employer's time.
Share your thoughts about Go in the discussion thread below.