Most of today's rising developer generation was barely out of diapers when James Gosling, Mike Sheridan, and Patrick Naughton created Java back in 1991. Yet, developers of all ages and industries continue to push Java to the top of the programming language popularity chart. Despite competition from upstarts like Go that threaten to give Java serious competition, Java's primary competition remains... Java.
According to a new Typesafe survey of over 3,000 Java developers, however, developers seem content to upgrade to the newest version of Java rather than defect to alternatives.
The enduring popularity of Java
By nearly any metric, Java continues to dominate computing, and not merely enterprise computing. As IEEE's programming language data shows, Java rules in every category, including claiming the affinity of open-source developers and web developers (Figure A). This is particularly interesting as these demographics tend to skew young.
Java rules in every category.
Hence, while HP cloud chief Marten Mickos is right to note that "generational change and the aging of the population of Java experts" could upend Java's lead, he's quick to acknowledge that "it may of course be reversed by new younger [Java experts]."
Which is exactly what seems to be happening.
There are a number of reasons for Java's enduring popularity, but chief among them seems to be its accessibility. As OpenGamma co-founder Kirk Wylie suggests, "[Java is] far more accessible to mortals than what C++ has turned into."
Related to its accessibility is Java's general applicability. Developers are increasingly looking to simplify development, which means standardizing on a few solid programming languages, databases, etc. rather than chasing the dream of the "full stack developer."
Java is the Swiss army knife of programming languages.
Java vs. Java
Not surprisingly, then, Java's biggest competition may simply be itself. If developers choose to stick with increasingly outdated versions of the general purpose operating system, they could find switching to a rival programming language like Scala might make more sense than upgrading to the latest version.
Fortunately for Java, its developer base seems keen to keep pace.
According to Typesafe's survey of 3,030 developers, 69% of Java developers continue to use Java 7 and have yet to upgrade to Java 8.
That's the bad news.
The good news, however, is that two-thirds of Java developers plan to move to Java 8 within the next year, and virtually all Java developers are at least piloting or testing Java 8 (Figure B).
Java 8 adoption.
As Typesafe CTO Jonas Boner told me in an interview, "When you think about how much Java is running in production, you just don't expect to see this much of the market move that quickly." It's blisteringly fast.
And, importantly, it's increasingly focused on modern workloads. Java developers aren't stuck in the data center, as the survey shows, but instead are very comfortable with cloud, big data, Docker containers, and more (Figure C):
Technology in production infrastructure.
For the Java 8 holdouts, the survey describes the top reasons for not upgrading: 37% cited their non adoption being related to hurdles with legacy infrastructure; 31% cited scarcity of resources or time, 19% cited organization obstacles / red tape; and only 19% cited specific concerns with Java 8.
Risks to Java
This isn't to say, however, that Java's dominance is forever. As fast as Java is moving and as quickly as its fan base embraces the latest versions, there's still a risk, as Scala developer Mario Pastorelli highlights, that "Scala [or another language will] mov[e] faster."
On this note, Java's Achilles Heel may well be its primary developer, Oracle.
Ember.js web developer Carl Lerche, for example, worries that "Oracle [may] botch it somehow." Former Ubuntu community manager Jono Bacon, meanwhile, has concerns about "trademark restrictions from Oracle."
These concerns aren't misplaced. Under Oracle's stewardship, the popular MySQL database has had plenty of engineering investment, but several missteps with its developer community have seen MySQL's popularity continue to fall even as rival PostgreSQL rises. The difference between Java and MySQL, however, is that Oracle has far more to lose from a weakened Java than it does from a diminished MySQL.
Even so, Red Hat community manager Dave Neary is probably right when he argues, "Other languages end up rebuilding stuff Java created for enterprise developers 10 years ago. I see its popularity increasing."
Do you think anything can slow the Java 8 train? Let us know your thoughts in the discussion thread below.
Matt Asay is a veteran technology columnist who has written for CNET, ReadWrite, and other tech media. Asay has also held a variety of executive roles with leading mobile and big data software companies.