Go back in time to May 2012 (before the iPhone 5). ZeroTurnaround decided to produce a report that focused a bit less on time forfeited to builds & redeploys–a process you already know to be long, unnecessary and arduous–and look deeper into which tools & technologies are being most used in the industry. We also looked into how developers spend their work week, what stresses them out and generally what makes devs tick. Behold, the Developer Productivity Report 2012, a 30-page document whose originating survey attracted over 1800 respondents and has been quoted by Oracle, Red Hat and VMWare. Now we’ll go back to revisit the content, one section at a time, adding updates, quotes and feedback from the community.
Part I: Remember the days before Java 8?
In the Java Versions section of our original report, we saw that 23% of respondents were using or experimenting with Java 7 on at least some projects. The vast majority of devs out there are using Java 6, but still ⅓ of respondents are still using Java 5.
We asked our friend Martijn Verburg (aka The Diabolical Developer)–who was recently selected along with other leaders of the London Java Community (LJC) to the Executive Committee of the Java Community Process (JCP EC)…whew–what he thought drove developers to upgrade from Java 6 to Java 7:
Mainly developer productivity, safety and out and out performance improvements in the JIT and GC sub systems. So you look at things like the Fork and Join framework and diamond operator (developer productivity), try-with-resources (safety) an out of the box ~10% speed boost (default JIT and GC improvements) and the ability to go polyglot without terrible performance due to the new invokedymanic byte code (massive developer productivity boost).
We’ve safely been using 7 for a long time (as have many of our peers in the industry) so we’re really keen to see everyone else adopt it.
Source: Developer Productivity Report 2012 © ZeroTurnaround
That Java 6 is still the favored version by a large margin is to be expected really, given Java 7 has only been out a little over a year. With Fork and Join, NIO updates and Project Coin there are some minor reasons to move up, but nothing ground-breaking. With the news that modularity has moved out of Java 8, it might encourage users to upgrade to Java 7, rather than miss it out entirely.
That being said, Oracle has announced that they will discontinue JDK 6 public updates in February 2013. We asked Martijn how that would affect existing users:
The impact is mainly on the security side. Java 6 from a feature and functional stand point is mature, fast and generally speaking an adequate workhorse. However they only way you’ll be able to get any ongoing security patches would be through Oracle’s long term business support programme. Some corporations will comfortably go forwards with this (they can afford it) – most small businesses and individuals can’t.
Some context – most Java security vulnerabilities have been on the Applet / Java WebStart side, which affects end users running Java through their web browser. Most end users don’t actively use Java via the browser (applets are effectively dead) but it’s still a pit of vulnerability. There has been generally one or two security issues a year that can adversely affect server based applications (just ask Tiwtter), these are the really worrying ones for corporations.
Part II: Moar Stats! Java Versions among a sample of 30,000+ JRebel users
Not long ago, we hacked into our DBs to see which Java versions were being used by JRebel users when they register – now we can show this data to you.
The source of numbers here is taken from actual JRebel usage statistics, whereas the figures presented in the full report were taken from respondents to an open survey (approximately 30% of respondents were JRebel users). The biggest difference between these two groups is the reduced Java 5 usage in favour of a higher version, and Java 1.4 has pretty much been phased out (percentages have been rounded, so a few users do still exist).
Source: ZeroTurnaround (c) 2012
Among JRebel users, it’s great see is 93% of users are using Java 6 or higher. Top upgrading, folks! With news of Java 6 support (for public updates) terminating in Feb 2013, you’ll need a commercial license to receive fixes and security updates. This may see increased movement over to Java 7 over the coming months, particularly among corporations.
As you’d expect, the Corporate usage is slower to adopt the latest Java versions than all our users, but it’s surprising to see that there isn’t a great difference between the numbers.
Next up is DevProd Report Redux: IDEs, so keep your eyes peeled and feel free to write to firstname.lastname@example.org with your questions.