Why Java Remains Popular After 20 Years: Practicality, Compatibility, Performance, and Freshness
After two decades, Java continues to dominate due to its practicality, strong backward compatibility, high scalability and performance, and recent enhancements like lambdas and modularity, which together keep the language fresh and widely adopted by millions of developers worldwide.
Java has a history of 20 years, even longer, depending on who you ask and how you count. Ignoring its age, Java still ranks first. Its practicality, performance, and backward compatibility demonstrate its value.
At the beginning of 2016, we had already passed Java's 20-year journey. In fact, although Java claims to have been publicly released on May 23, 1995 (the HotJava browser did not achieve the same success), the first official JDK was released on January 23, 1996, so Java can be said to be just over 20 years old. Java has many things worth reviewing, but I am more interested in why Java can still succeed after 20 years.
Accurately measuring the popularity of programming languages is difficult, but a widely accepted metric in many surveys is the TIOBE index. It tracks languages through various search engines, Google blogs, Wikipedia, even YouTube. (While writing this article I learned something new: TIOBE actually stands for “The Importance Of Being Ernest”, an Oscar Wilde play, though I’m not sure how that relates to programming languages).
Looking back over the past fifteen years, Java has consistently been among the top. Java has taken the position once held by C, which was the most popular before Java rose. (Things change fast! In 1986 Lisp was second and Ada third). The TIOBE index just announced 2015 as the Java language year, and ten years earlier Java had already earned this honor.
Another indicator of popularity is the statistic often quoted by Oracle: there are nine million Java developers worldwide. If you want some fun, check this article that provides details on how the developer count reaches that number. Ignoring those details, we all agree that there are indeed millions of Java developers globally.
So why can Java remain popular? I think there are several reasons; here are four.
1. Practicality
James Gosling described Java as a “blue‑collar” programming language. It lets developers accomplish work with minimal cost and, after some time, continue to understand and maintain others’ (or their own) code. Of course you can write unreadable code as in any language, but good coding style gives Java better readability than many other languages.
2. Backward Compatibility
Sun and later Oracle have made great efforts to ensure that code written for one Java version runs on newer versions. Although it’s not always the case (e.g., assertions in Java SE 1.4 and enums in Java SE 5) and sometimes breaking compatibility yields better implementations (e.g., generics), backward compatibility remains an attractive feature for developers. Nothing is worse than having to modify old, working code just to run on a new platform—it’s a waste of time.
3. Scalability / Performance / Reliability
After more than 20 years and thousands of developers each year, Java has become a solid platform that can match or even exceed native code performance (thanks to JVM optimizations like dynamic rather than static code analysis). Regarding scalability, look at large enterprises using Java: Twitter (abandoned Ruby on Rails on the JVM because it couldn’t scale), Spotify, Facebook, Salesforce, eBay, and Oracle. Hadoop, Cassandra, and Spark—the foundational big‑data frameworks—run on Java or Scala on the JVM. For good scalability and performance, Java and the JVM are the best choice.
4. Freshness
To me this is the most important point. The TIOBE chart shows a noticeable rise in Java’s popularity starting in October 2014, coinciding with the release of JDK 8. JDK 8 introduced lambda expressions and the Stream API, allowing developers to write more efficient code without learning an entirely new language like Scala. These features also make it easier to leverage multicore/multiprocessor machines without writing complex, error‑prone multithreaded code. With the Jigsaw project underway for JDK 9, we’ll see modularity make large enterprise applications easier to build, deploy, and maintain. In JDK 10, plans for new language features such as value types are already in progress.
I look forward to Java being named the best programming language of the year again in the next decade.
Qunar Tech Salon
Qunar Tech Salon is a learning and exchange platform for Qunar engineers and industry peers. We share cutting-edge technology trends and topics, providing a free platform for mid-to-senior technical professionals to exchange and learn.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.