This is not your grandmother’s Java. Despite hanging around since 1995, Java is the programming language that keeps on giving. In fact, in a recent jobs report, Dice.com named Java one of the top five languages to know if you want a programming job in 2015.
How has Java remained king of the programming mountain for so long?
Taking Popularity Contests By Storm
But Java continues to reign supreme by pretty much any measure, including IEEE Spectrum’s analysis of both jobs and use in open source:
And as much as Java has been an enterprise stalwart, it’s also making a big dent in mobile, as VisionMobile’s most recent developer survey shows. (Google’s embrace of Java as the lingua franca of Android development surely hasn’t hurt there.)
The question is why. Why has Java remained so relevant for so long, even as the world has shifted from data center to cloud, and desktop to mobile?
The Secrets Of Java’s Success
As great as Java was when James Gosling and his merry “Green Team” launched it in 1995, the key to its continued success has been its incredible ability to evolve to meet modern computing needs.
First and foremost, however, is that Java is quite accessible, as OpenGamma co-founder Kirk Wylie highlights: “[Java is] far more accessible to mortals than what C++ has turned into.” That accessibility comes both in the form of language familiarity and code availability:
@mjasay familiar c-style syntax, runs on any OS, tons of open source libraries for integration, fast and multi-thread/core capable.
— Kirk Wylie (@kirkwy) July 30, 2014
Importantly, this accessibility has led to Java being taught to university students, which, in turn, makes it even more ubiquitous, as MongoDB solution architect Henrik Ingo points out:
@mjasay Classes (e.g. their names) in Java map very well to good design patterns, which makes Java a good OO language to teach in university
— Henrik Ingo (@h_ingo) July 30, 2014
Nor are companies that want to hire Java talent left to sift wheat from tares. As Fahib Sabir (@_fahim), enterprise architect with Colt Technologies, suggests, Java’s “certification programme makes it easy to find competently (note competent, not talented) trained developers and architects.”
But what about the technology itself?
1. Composability. Elements can be included/assembled as needed. (Note that EJBs didn’t survive for this reason.)
2. Ubiquity. Java is a rare example of wide adoption by those building Java itself, supporting infrastructure/operating systems and solutions built in Java.
3. Utility. Nearly every major need is addressable. Just lots of assembly by hand. But mobile, embedded, web, etc. [S]cales, too.
On this last point, David Van Couvering (@dcouvering), a senior engineer with Castlight Health, stresses that “It also has great performance … and static typing makes it scale well with large code bases.”
Trusted To Get The Job Done
Perhaps this is the ultimate reason Java remains so relevant. Unlike its rivals, Java has continued to deliver in a wide variety of applications at serious scale. Indeed, Credit Suisse vice president Zohar Melamed (@zohar_melamed) suggests that Java is “a known entity in production under stress,” making it a go-to language for those that want to minimize the odds of failure.
While some technologies stick around to fulfill niche tasks long after they’ve been supplanted in mainstream use, Java stands out for its continued relevance across industries and across computing platforms.
No wonder Dice.com is as right to put Java at the top of the list of languages to learn “if you want to stay employed.” This is as true in 2014 as it was in 2004. Which, when you think about it, is amazing.
Lead image of Java creator James Gosling by Flickr user Peter Pilgrim, CC 2.0