Java isn't even slightly dead and here's why...

Java logo

C# and even F# are more popular with developers. .NET gets endorsed for cross-platform experience by everyone including AWS. And the OpenJDK FAQ still talks about 2011 and 2012 as the future. It may be 25 years-plus, but Java is not only surviving, but maybe even thriving.

Only a few years ago, Oracle’s tenuous stewardship of enterprise Java was driving CTOs to invest in .NET but Java still sits in second place (alongside Python) in the most recent RedMonk language rankings. Much of that is down to the adaptability of a language that, thanks in part to the transition from Java EE to Jakarta EE at the Eclipse Foundation, continues to be in active development: Java 17 is about to arrive, with Java 18 due six months later.

The diversity of the Java ecosystem, the divergence of the different Java EE stacks and the availability of other JVM languages like Kotlin are both strengths and weaknesses; there are a lot of options, but they tend to be fragmented.

Inertia in enterprises and the continuing presence of Java on CS curriculums might account for the way developers on Stack Overflow are almost evenly split between loving and dreading the languagd. But it wouldn't explain the way Java’s so broadly used beyond enterprise (even if you don’t eount Android, which is slowly switching to Kotlin).

Uber only recently rearchitected its fulfilment platform [] and it chose Java. LinkedIn has more than 1,500 Java microservices in production. Minecraft was built in it. And nothing underlines the continuing strength of Java like support from a direction that would once have been surprising – Microsoft.

The Yammer back-end is in Java. Azure HDInisght and Synapse rely on it. Java is one of the four languages Microsoft focuses on for Azure (along with C#, python and TypeScript).

That’s one reason the company started sponsoring the AdoptOpenJDK project (set up to bring OpenJDK binaries to multiple platforms when Oracle switched Java SE to a pricey monthly subscription) in 2018. It acquired jClarity in 2019 to kickstart its Java platform team for Azure, worked with VMware to build a Java Spring service, Azure Spring Cloud, and with RedHat to put the classic JBoss EAP app server runtime on Azure App Service for Jakarta EE users (as well as running WebLogic and IBM Cloud Pack as services).

More recently, Microsoft ported OpenJDK to Windows on Arm (maybe in preparation for an Arm Windows Server VM in Azure) and released its own build of OpenJDK (tested against Eclipse Adoptium) earlier this year.

Microsoft’s interest in Java isn’t the reason it’s still going strong; it’s a testament to the staying power of the language – even in the face of how many developers dislike it.

When it comes down to it, Java is a general purpose programming language. And, even in these days of cloud native and specialised development, a general purpose programming language still really matters – especially when it’s integrated with a wide range of cloud services.

Mary Branscombe

Mary is a freelance business technology journalist who has written for the likes of ITPro, CIO, ZDNet, TechRepublic, The New Stack, The Register, and many other online titles, as well as national publications like the Guardian and Financial Times. She has also held editor positions at AOL’s online technology channel, PC Plus, IT Expert, and Program Now. In her career spanning more than three decades, the Oxford University-educated journalist has seen and covered the development of the technology industry through many of its most significant stages.

Mary has experience in almost all areas of technology but specialises in all things Microsoft and has written two books on Windows 8. She also has extensive expertise in consumer hardware and cloud services - mobile phones to mainframes. Aside from reporting on the latest technology news and trends, and developing whitepapers for a range of industry clients, Mary also writes short technology mysteries and publishes them through Amazon.