Recently, I created a poll asking what versions of the JDK people were using in production. I think at this point I have a representative sample (over 300 responses) and can report the results.
Which JDK are you using?
The first question asked which JDK version was being used in production and multiple answers were allowed. Interestingly the distribution showed:
- J2SE 1.4: 37%
- J2SE 5.0: 44%
- Java SE 6: 38%
Both Java 1.4 and 6 were a lot higher than I expected. Based on informal polls I’ve done at talks, I expected to see some 1.4, probably to the tune of 20% or so, but I find it pretty amazing that 40% (including those running even older) still had not moved to Java 5 yet.
So, if you’re wondering about dropping support for 1.4, you might want to think twice. Of course, given Sun’s end of life policy, 1.4 will be out of general support in October 2008. I’m assuming that means that things like security updates and patches will no longer be available for the 1.4 line. You’ll also note that Java 5’s EOSL date is October 2009, so that’s not far off either.
On the other hand, I was surprised to see how many people were running Java 6 in production. That was also more than I expected.
Why haven’t you upgraded?
The second question looked at why people haven’t yet upgraded. The strongest response (45%) was that they can’t upgrade due to being stuck with an application server or other software that won’t support an upgrade. Of those that responded to a follow-up on which software was holding them back, 57% were on WebSphere and 19% were using an older version of Weblogic.
With WebSphere 7 now in beta and supporting Java 6, that largest roadblock should start to ease a bit.
The next biggest reason given (35%) was that the newer JDK was not yet certified by their IT or Operations group. Of those who planned to upgrade but just hadn’t had time yet (12%), most planned to do so in the next 6 months.
Any other comments
Finally, there was a catch-all open question at the end for any comments. These are cataloged in full on my site but here are a few choice comments:
Some people have upgraded and not looked back:
- I never want to go back to 1.4 (or earlier), the features added in 5 are way too useful.
Lots of people are stuck in environments where upgrading is not allowed due to risk.
- Mostly stalled because in a big company where change = risk = oh no! cant do that!
- If it aint broke … why break it?
- An upgraded version of Java would have to be installed on the client PCs. The users don’t have the authority; their system administrators would have to do it. The admins are dragging their heels. It can be done with SMS. But that has to be negotiated months in advance. And our leaders dragged their heels for months during the window when it could be done. So now we have to wait another year!!!! :-[
Several complaints about Apple and their slow movement towards JDK 6:
- Can’t migrate to 1.6 API features as Apple, in their infinite wisdom, only support x86_64 on their latest release of OS X.
Some people have had issues upgrading:
- Had to upgrade a legacy app from 1.4.2 – biggest reaction was “Wow, that’s a lot of Generic Raw Type warnings”. We probably had around 500 of them.
- A Swing app has rendering glitches running under JRE6, but looks fine under JRE5. We could fix it, but no one has the time because it’s deemed lower priority then adding features.
- Mainly our problems with upgrading to Java 5 are due to Xerces issues.
And of course some people don’t know why it’s even worth upgrading. :)
- There is not much in java 6, java 5 has some stuff, but I think that the academic types are stuffing in a bunch of junk we really don’t need. My two cents! However, we are in the process of rolling out our product in java 6 just to keep pace.
If you’re interested, you can also check out the poll stat results or poll essay results.