Good and Bad Reasons to Still Be Using Java 1.4 (Or An Older Version)
In 2004, Sun Microsystems released Java version 1.5, which represented one of the biggest core upgrades in the programming language’s lifetime. Because of the severity of the changes to the core code, many companies were reluctant to migrate. Five years later, we still see many companies operating on version 1.4 or earlier, even though the current version is 1.6 and 1.7 is due for release soon. Nicholas Whitehead from Javalobby wants to know why. Here are some of the excuses, I mean, reasons offered up by his readers, as well as some commentary on each from yours truly…
Code base is static, application runs fine, no issues.
Excuse
While the application may be running fine right now, leaving it on a Java platform that is 5+ years old effectively cuts that application off from any future maintenance. Java 1.4 is no longer publicly supported by Sun, the JDK and JVM are hard to find, and no current development tool supports it inherently. Plus, you are also hamstringing any applications that are dependent on the old code base. They cannot upgrade while depending on code that is not upgraded. Which brings me to the next excuse.
Code is dependent on some important old obscure closed-source library which breaks with the newer VM
Excuse
Do you really want to have your code depend on a library that hasn’t seen fit to upgrade in 5+ years? Time to start looking for a replacement library…
Code uses future reserved words as construct names (example: the “enum” keyword)
Excuse
Most IDEs can refactor the name of any construct into something more appropriate. Find and Replace in its greatest moment…
Depending on typical performance characteristic of the old VM (example: 1.6 is typically significantly faster but also more resource hungry for large collections than 1.5)
Good Reason. But misused
This would be a good argument for staying with 1.5 versus upgrading to 1.6. However, this argument does not hold water with 1.4 or earlier. As far as I know, performance characteristics were improved across the board with the move to 1.5. (I am sure that there is some obscure situation in which 1.4 was better, and if you happen to know what it is, please leave a comment!)
There has not been enough time/resources dedicated to migrating because we’re focused on building application functionality
Excuse
This is not just a poor excuse, it is also a fallacy. Migrating the application is building functionality. Ignoring it now compounds the work you have to do in the future. Sooner or later, you will simply have to migrate. Would you rather do it now when there are 10,000 lines of code in your application suite, or later when there is 100,000? I could go on and on about how this falls into the Save Time Now, Pay For It Later category, but I think I will save that for another blog…
Target deployment platform/OS does not support or supply a Java 1.5+ JVM
Good Reason
You have to develop to the target platform’s capabilities. This reason won’t be around for much longer, as the vast majority of infrastructures and platforms have already upgraded. And the remaining ones will need to soon, as the earlier versions will no longer have support from Sun.
Final tally: Six justifications surveyed. Four were excuses, one did not apply to Java 1.4 and earlier, and one was a good reason but will be moot soon. Time to migrate to a newer version my friends…
Don't miss any posts! Subscribe to our blog feed or only posts by Paul Bourdeaux.
Short URL: http://sundoginteractive.com/e/3079


Comments
Be the first to comment!
Leave A Comment