Maybe hold off on the sympathy cards

Java is alive and well, thank you, and is just as relevant as ever

Wayne Citrin
© Shutterstock / Konstantin Tronin

Despite rumors to the contrary, Java is still extremely important in today’s tech. Here, Wayne Citrin explains why Java is alive, kicking, and not going away anytime soon.

In 2010, an analyst named Mike Gualtieri posted a blog entry claiming that “Java is a Dead-End for Enterprise App Development” and an uproar ensued, with forceful arguments both for and against. Yet, here we are, more than seven years later, and Java is still going strong, as shown in Tiobe’s latest language popularity index.

Stack Overflow confirms this as well. Their 2017 survey of more than 64,000 developers revealed that, for the fifth year in a row, Java emerged as the third most popular language behind SQL and JavaScript. The survey also found that Java was the fourth most popular language across occupations (web developers, desktop developers, sysadmins/DevOps and data scientists) behind JavaScript, SQL and C#.

The upshot is that Java is either the leading enterprise programming language or just trailing its longtime competitor C#, and that the only more popular languages are special web and database programming languages. For enterprise systems, though, Java is still a major force to be reckoned with.

Given these examples of Java’s popularity, why do we see, time and again, articles announcing its imminent death? As Mark Twain might have said, the reports of Java’s death are greatly exaggerated.

Enterprise Java is no longer about Java EE

First, let’s establish that enterprise Java is not just about Java EE. Java EE has always been complicated to use, and its popularity has been appreciably declining. So yes, when looking at enterprise Java in the context of Java EE, Java’s use is in decline.

But a lot of new open source projects and frameworks have taken Java EE’s place. Spring is certainly the dominant general enterprise framework, and almost four-fifths of Java web development is done with frameworks other than Java EE. In addition, vibrant enterprise Java projects are supported under the Apache umbrella, many of which are replacements for Java EE components, and others of which offer solutions in areas not covered by Java EE.

SEE MORE: Take advantage of Java 8: The change is very much worth it

Bottom line is that if developers have a choice, they’ll likely avoid using Java EE in favor of a more vibrant ecosystem of frameworks, extending enterprise Java’s relevance and popularity, despite the decline in the popularity of Java EE.

Java tooling is still superior

Java’s been around for a long time now, and has had time to establish superior tools for writing, maintaining and debugging code. For example, various development environments like Eclipse or NetBeans have made it easy to write Java. They can even be used to program and write code in emerging Java-based languages.

Compare this to the situation for other emerging languages. Unless someone has written an IDE extension for this language that works in an established IDE, the developer is stuck using an assortment of code editors and command-line compilation and build tools. While these tools can be quite powerful, anecdotal evidence at least seems to suggest that use of an IDE makes developers more productive for all but relatively simple projects. It should also be noted that even the most popular build tools like Maven, Gradle and sbt are Java-centric, even though they can be used to build projects in emerging languages. The fact that they’re originally targeted toward Java suggests that Java is still in a dominant position as an enterprise programming language.

Java is a bridge to the future 

Want to use a hot new language? Go ahead. Developers can leverage all they know about Java to help because those that write these new languages have written them with Java in mind. Popular Java-based languages like Groovy, Clojure, Jython and Scala all compile to the same thing that Java compiles to.

SEE MORE: Top 5 machine learning libraries for Java

Developers can write pieces of a program in a new language and call back into existing code or Java code. They can use new features in these languages that they’re comfortable with, without having to know everything about them. They can easily integrate their code with colleagues’ code in a different language. Under the hood, it’s really all the same. So, developers can try writing code in one of these emerging languages, with the assurance that when they reach their limit (or the language reaches its limit), they can safely fall back to Java.

Much to the chagrin of the naysayers, Java’s not singing its swan song anytime soon. So, ignore the false claims of its death, and embrace Java for all it can do. Take comfort in the fact that it’s alive and well — and continues to grow in popularity and use.


Wayne Citrin

Dr. Wayne Citrin is CTO and cofounder of JNBridge, LLC, the leading provider of interoperability tools to connect Java and .NET frameworks.

Inline Feedbacks
View all comments
spotify web player hotkeys
spotify web player hotkeys
4 years ago

Thanks for sharing these useful information! This is really interesting information for me.

Sam R Harkreader
Sam R Harkreader
2 years ago

Thank you for taking time and care to write a relevant article that I enjoyed.