Java: Still the Most Popular Programming Language
Java may still be getting bad press when it comes to (mostly consumer) security, but it continues to be the world's most popular software development language.
That's according to TIOBE Software's latest Programming Community Index. TIOBE is a Netherlands-based provider of software quality assessment services based on the ISO/IEC 9126 standard. The company ranks the popularity of software languages based on "the number of skilled engineers world-wide, courses, and third-party vendors." The purpose of the Index, the company says, is to provide coders with a kind of contextual yardstick with which to measure their own language skills against current demand.
Altogether, TIOBE ranks 50 programming languages, though it follows many more. The company emphasizes that the Index measures only the popularity of a language, not its actual quality (no "bests") nor the number of lines of code written in it. And this month the company added 16 additional search engines to arrive at its findings. An overview of all search engines used can be found on the TIOBE index definition page.
Java continues to top this and other lists of popular programming languages for a number of reasons. "It's a good 'server side' language for implementing infrastructure," said Forrester analyst and long-time Java watcher Jeffrey S. Hammond. "Large companies are comfortable deploying it into their data centers via middleware, and using it to integrate to all sorts of devices, including mainframes."
"Java achieved a high level of pervasiveness in the 2000s," Hammonds' Forrester colleague, analyst Randy Heffner, pointed out. "And it's a useful, effective, and efficient language for what it does. Perhaps what makes Java's continuing popularity surprising is that all the buzz is coming from elsewhere. It's all about scripting languages and REST and other things, not the basic blocking and tackling that's going on with Java."
That "basic blocking and tackling" has earned Java a secure spot in some important organizations, observed Gartner analyst Mark Driver, which doesn't hurt its popularity.
"Java is incredibly entrenched technology, which is backed by some of the world's largest and most influential software companies, including IBM and Oracle," Driver said. "These are companies that still have a strong influence and control over mission-critical, transaction-oriented applications. And a lot of the growth in dynamic languages tends to be coming from people working on architecturally simple systems. You don't see a lot of people out there building airline reservation systems in Python -- they'll use it as part of that system, but the back end is still Java."
Another reason Java continues to be popular, Driver said, is that it is ever evolving. "Java is not static," he said. "And there are dozens and dozens of open source frameworks for Java out there. So if you don't like the way the JDK works, there are a thousand other ways to do it.
Both Driver and Hammond also pointed out that Java is both a language and a platform. It's a good platform, in fact, on which to run dynamic languages, such as Groovy, Ruby, Scala, and others. It gives devs who want to use dynamic languages in the infrastructure a way to do so "without having to start a pitched battle" with their peers, Hammond said.
"There are no languages out there with the breadth and depth of the SDK and platform for things like messaging and transaction management and all the things that come in the JDK and the JEE specification," Driver added.
The burgeoning mobile space is supporting Java's popularity, too, argued IDC analyst Al Hilwa.
"One word should capture what is going on with Java: Android," Hilwa said. "In recent years, Java has been the biggest language showing up in our surveys. In business and in the enterprise, it is unchallenged, especially for back-end applications. It may be less popular in terms of new adoption as a browser plugin, but that is more than compensated for in Android development."
Chris Rommel, analyst at the VDC Research Group attributes Java's continued popularity to, among other things, a "network effect."
"Perhaps the bigger reason is that Java has now achieved a network effect: many developers have used it, most [computer science] students in the past decade are comfortable with it, and there is a strong ecosystem of both commercial and open source tools and complementary solutions available. In other words, the strength of [Java's] ecosystem and the growing expertise with the language are just reinforcing the growth in its use."
Java's bad security press is mostly for desktop and the old Java applets, but server-side Java is still "cool," Forrester analyst Mike Gualtieri reminded us.