I gave a keynote address at JAX last week with a talk entitled “The Upswing: How Java got its Mojo Back”. RedMonk has been tracking the Java resurgence pretty closely, and the talk was actually reprise of an 2011 JAX keynote on the same subject.
Jaxenter did a great precis of the talk here:
Younger developers clamour for newer JVM interlopers like Ruby and Scala, and naysayers such as Tim Bray, who recently claimed that Java isn’t relevant, abound.
The point that these critics are missing though, is that Java isn’t just a language – it’s a platform, and a terrifically robust one at that. Has it peaked? According to Governor, maybe. But then, so have the US and Europe – and they don’t appear to be going anywhere anytime soon. After all, as Governor crucially pointed out, when web companies grow up they turn into Java shops. To date, Linkedin, Google, Twitter, Yahoo, and Facebook, among a host of other web powerhouses, have all turned to Java in recent years to power them into maturity.
Looking to the future, Governor said that web frameworks are the best way to understand language adoption. After all, Ruby was just a curio until Rails came along, and Django, and Node.js have led adoption of their respective languages. Despite a tonne of options, Java still has yet to develop a leading framework – and Governor reckoned that to see explosive growth once again, it will need one.
Thanks Stephen for the maths underpinning the thesis that frameworks lead language adoption.
One area the author doesn’t mention from my talk is Big Data – many of the leading data management tools are JVM-based – see Hadoop (Java), Storm (primarily written in Clojure), Kafka (written in Scala), Cassandra, and Apache Giraph (Java). Many Organisations are now choosing data tooling based on affinity with Hadoop, which means sharing Java libraries. Hadoop is a Java language phenomenon rather than simply a JVM phenomenon.
It’s not an accident that Hadoop was written in Java. Doug Cutting made an engineering decision to do so. Engineers keep choosing Java for high scale environments, even some that are younger than 43.