I\'d like to upgrade from Java 5 to Java 6. We all know about the technical advantages and benefits, but:
I have the problem that a major client refuses to upgrade f
Over time, the client will increasingly need to upgrade because of things like:
But the longer the client delays upgrading, the larger the Java version jump involved, and more work (and potentially pain) that will be involved.
And the longer the client delays, the larger the accumulated costs of things like hardware provisioning, developer costs, deferred projects and so on.
To illustrate, suppose that you had waited 10 years to upgrade from Java 1.1 to Java 1.2. That would mean that you would have spent extra 10 years developing applications that used Hashtable and Vector as their primary data structures. And when you finally upgraded you would have 10 years worth of additional "legacy" code that is more difficult to maintain than if it had been written using Java 1.2 collections.
But the bottom line is that if the client insists on staying an old version of Java, you need to either go along with their wishes (and make sure that you pass on the extra costs!), or find a way to exit your contractual relationships with the client.
1 - The End of Life / End of Service dates vary from one vendor to the next, but AFAIK all major vendors have EOL'd Java 5 by now. Indeed Oracle have EOL's Java 6 and Java 7 as well.