Reasons and advantages for upgrading to Java 6 for a non-technical decider (at the client)

后端 未结 11 1481
无人及你
无人及你 2020-12-16 09:10

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

相关标签:
11条回答
  • 2020-12-16 10:07

    We upgraded from 1.4 to 1.6 last year. It's been a tremendous help for development, but not without its hiccups. While this was not our motivation, today we are required to "keep up to date" by PCI (credit card handling requirements). Your app may be running smoothly, but I'm sure that Java 1.5 has some security holes that have been fixed since in 1.6.

    0 讨论(0)
  • 2020-12-16 10:08

    Java 5 is now well past its end-of-life date. Sun/Oracle will no longer issue public updates to it.

    Java SE 5.0 is in its Java Technology End of Life (EOL) transition period. The EOL transition period began April 8th, 2007 and will complete October 8th, 2009, when Java SE 5.0 will have reached its End of Service Life (EOSL).

    If you find a bug in Java5 now (e.g. a hotspot crash - they do happen), you're screwed. If you have a dedicated support contract with Sun/Oracle, which they do offer for those stuck on obsolete versions, then they can fix it for you.

    You could argue that the risk of staying on an unsupported platform is greater than the (more manageable) risk of migrating.

    0 讨论(0)
  • 2020-12-16 10:10

    From the source:

    Q: How is Java SE 6 different from the previous version (J2SE 5.0): what are the improved and updated areas, such as functionality, security, performance?

    A: Anyone who has existing Java applications, will benefit immediately from the performance, reliability, and UI improvements in Java SE 6. Coupled with the expanded monitoring and diagnositics capacities built into the platform, the release delivers dramatic out-of-the-box benefits without any coding changes or even a re-compile necessary. Simply running existing Java applications on this latest release is all that is needed.

    More on the same matter (may be of help to elaborate more to the client):

    Top 10 Reasons to Upgrade to Java 6

    Why should I upgrade to Java 6?

    0 讨论(0)
  • 2020-12-16 10:13

    Over time, the client will increasingly need to upgrade because of things like:

    • Java 5 not being supported on some new hardware or operating system platform,
    • poor performance relative to newer Java releases,
    • greater coding and testing costs relative to newer Java releases; e.g. due to the "clunkiness" of older APIs, not being able to use streams, etc
    • increasing cost of vendor support1: you have to pay for support to get security patches, and the older the release the more you pay (I think)
    • difficulty of retaining Java developers to work on Java 5 projects,
    • third party Java libraries no longer being developed and supported for Java 5,
    • compliance issues; e.g. https://stackoverflow.com/a/3434063/139985
    • and so on.

    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.

    0 讨论(0)
  • 2020-12-16 10:14

    We've had this problem with a client last year and we stood firm and said that future development (against Java 1.4 as it happens) would at a minimum be significantly more expensive in the future and as time went on we it may no longer even be possible with us. It was a risk but we felt it was worth it as it allowed us to greatly reduce our development costs. Obviously we weren't as blunt as the opening line makes out. We showed the client all the reasons why it would get progessively more expensive to stay as they were.

    0 讨论(0)
提交回复
热议问题