Having appeared on the main stage at Oracle Open World for the Java One keynote this week I have some thoughts. I was introduced by Mark Cavage, VP Product Management at Oracle as “Mr Java Renaissance.” Absurd obviously, but I would accept that RedMonk has done a better job of understanding Java past, present, and future, than many commentators. A combination of qualitative understanding, a model that allows us to spend a fair bit of time with web companies not just enterprises, and a solid qualitative play through our programming language rankings, mean that we can speak with a certain authority on the subject of Java.
Our rankings are a scatter plot looking at activity on both Stack Overflow and Github, so I am looking forward to seeing whether the dramatic shift to open source governance for Java Standard Edition and Java Enterprise Edition assets makes a noticeable difference.
As I said about governance, Java has changed more in the last 3 weeks than the last 13 years.
The real key to ongoing strength for the Java ecosystem though, will of course be innovation that happens elsewhere. We had a couple of really interesting pointers there this week.
The Spring framework continues to power ahead but it was very noticeable that Pivotal chose to make news announcements this week, rather than waiting for Spring One Platform, its own event in early December. It dropped Spring Framework 5.0 with support for Oracle’s JDK 9. Kotlin support is also worth noting.
But Spring has long been gunning for Java leadership. Another piece of news of note was Microsoft announcing a preview of Java support for Azure Functions. That means Java running on .NET core, supporting all the Azure Functions triggering options and data bindings, pay-per-execution pricing and so on.
Developers are going to be able to Eclipse, IntelliJ, and VS Code to write and debug Azure Functions in Java locally, which is pretty mind-blowing when you think about it. Azure Functions in Maven. Of course it shouldn’t surprise us Microsoft doing this kind of cross-platform engineering any more, but it still has the capacity to cause a moment of WTF.
Bottom line is that everybody wants to win those Java workloads as they move into the cloud, but serverless is very much not just a lift and shift option – it’s about Java being used in new ways for new types of apps (like writing glue code for event triggers across Azure services). That is genuinely interesting.
disclosure: Oracle, Microsoft and Pivotal are all clients, but all analysis here is independent of vendor relationships.
(Read this and other great posts @ RedMonk)