• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

What is it for Clients? vs Developers?

 
mamidi subrahmanyam
Greenhorn
Posts: 19
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
We do software development with JDK 6 because our clients supports JDK 6. So we are constrained with this release.

  • How clients will see release of new versions?
  • Why they are not immediately upgrade to latest always?? though backward compatibility is always exists!!
  • Without clients support, can we leverage new features in latest releases??


  • In short, if there is good features in latest release, but clients are not upgraded then developers are always constrained with older one!! Then where and when we can get use of them??

    Thanks
    Subrahmanyam Mamidi

     
    Jesper de Jong
    Java Cowboy
    Saloon Keeper
    Posts: 15356
    39
    Android IntelliJ IDE Java Scala Spring
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    mamidi subrahmanyam wrote:How clients will see release of new versions?

    It depends on your software. Are your clients running Java themselves to run your software? Then all of your clients will need to update their JRE. If your Java software is only running on the server, and your clients access it via a web browser, then they won't notice much if you upgrade Java on the server to a newer version.

    mamidi subrahmanyam wrote:Why they are not immediately upgrade to latest always?? though backward compatibility is always exists!!

    Because it means extra work for your clients or system administrators to install the newest version of Java. Because things might break even though the newer version is supposed to be compatible with the older version. You'll need to test your software with each new version of Java and you might need to fix things, which means extra work for the developers and testers. Extra work = it costs extra money. Many companies will upgrade only if there is a clear business advantage (for example, they could save money by upgrading, because maintaining software running on an old version of Java costs more than upgrading to the new version).

    mamidi subrahmanyam wrote:Without clients support, can we leverage new features in latest releases??

    There is for example Retroweaver which allows you to use Java 5 features such as generics on Java 1.4, but in general no, you cannot easily use features from newer versions on older versions of Java.

    mamidi subrahmanyam wrote:In short, if there is good features in latest release, but clients are not upgraded then developers are always constrained with older one!! Then where and when we can get use of them??

    Yes, that's true. In the real world, not everybody immediately upgrades to the newest version. You'll need to come up with arguments for your company or your clients to convince them that it has value for them to upgrade.
     
    mamidi subrahmanyam
    Greenhorn
    Posts: 19
    1
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thanks a lot Jong for clarifying my queries!!
     
    Ivan Jozsef Balazs
    Rancher
    Posts: 979
    5
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    but in general no, you cannot easily use features from newer versions on older versions of Java


    If memory serves me right, the Collection API was introduced with version 1.2 but it was released as an auxiliary package for 1.1 as well.
    Sometimes such things happen, but this is rather the exception than the rule.

    Weak references were also introduced with v1.2, but they obviously need the support from the JVM so they are beyond the syntactic and API level and thus can not be retrofitted to a previous version.
     
    Ulf Dittmer
    Rancher
    Posts: 42968
    73
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Ivan Jozsef Balazs wrote:the Collection API was introduced with version 1.2 but it was released as an auxiliary package for 1.1 as well.

    Albeit in a different package, so there were upgrade costs later on (similar to how Swing -part of Java 2- was available on Java 1.1 JVMs). Still, a very useful backport.

    Weak references were also introduced with v1.2, but they obviously need the support from the JVM so they are beyond the syntactic and API level and thus can not be retrofitted to a previous version.

    Your point is valid in general, but not for this API in particular: They just provided a public API to something that was in the JVM already (and could have been used using the internal classes, which is discouraged).
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic