Is it worth learning Java? Developers around the world use the programming language for everything from enterprise platforms to mobile apps. Despite its advancing age (25 years old and counting), it seems unlikely that Java will become obsolete anytime soon—but if you haven’t mastered it yet, is it worth spending your limited time and resources learning other languages instead?
If you’re an Android developer, you already know that Google is pushing the much newer Kotlin as a “first class” language for Android app development; Kotlin advocates argue that the language is much more lightweight and faster to compile than Java. Meanwhile, development teams within the enterprise are always considering whether to build new applications and platforms in newer languages, potentially de-emphasizing Java within their tech stacks (aside from maintaining legacy code).
However, the latest programming-language rankings from analyst firm RedMonk suggest that Java is very much here to stay—and that it’s even maintaining its momentum despite pressure from newer languages. Java is tied for second in the current rankings, alongside Python and just behind JavaScript.
RedMonk’s methodology tries to highlight languages’ “buzz” and actual usage in order to determine future usage. “We extract language rankings from GitHub and Stack Overflow, and combine them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction,” the firm states in its introduction to the rankings. “The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends.”
Java actually rose from third to second place since the last time Redmonk crunched its numbers. “This would be less of a surprise but for many of the language’s competitors—and, it should be said, the odd industry analyst or two—writing regularly recurring epitaphs for the stalwart of enterprise infrastructure,” read the note accompanying the data. “The language once created to run cable set top boxes continues to be a workhorse, and importantly one that has consistently been able to find new work to do.”
Despite the buzz around Kotlin, Go, and Rust—all of which have their advocates as possible Java replacements—none of these languages demonstrated quite the same momentum in these current rankings. “It seems plausible… that Java is retaining—through a combination of adaptability on its part and inertia on the enterprise’s—a large share of the enterprise applications market, meaning that its would-be challengers—languages like Go, Rust and to a lesser extent Kotlin because of the shared JVM platform—are competing less with Java than with each other,” RedMonk’s note added. “If that hypothesis is correct, we should expect Java to sustain its performance and future gains from Go, Kotlin and Rust—if any—will be harder to come by as they compete for shares of a smaller pool of workloads.”
For those interested in Java development, it can also prove a lucrative pathway. According to Burning Glass, which collects and analyzes job postings from across the country, the median Java developer salary is $102,000, which is pretty high for technology positions.