Comment by akdev1l

Comment by akdev1l 10 days ago

6 replies

Not really true imo.

I speak from the experience of supervised the upgrade of thousands of services from JDK8 to JDK17

There’s few quirks added but:

1. JDK17 will happily run JDK8 code without any changes 2. Most of the issues I observed were due to project jigsaw (and were resolved by adding —add-opens as needed)

I would expect 17 > 21 upgrade to have basically no issues as an upgrade in place

I hate Java but backwards compatibility isn’t one of the reasons why I hate it

cyberax 10 days ago

This unfortunately is not true for large codebases. The language and the basic library are extremely stable, but the overall runtime is not. So the 8->17 switch resulted in lots and lots of regressions.

So companies either pay Oracle to maintain the old JDK8, or use something like Amazon Corretto. It's so bad that there are companies promising JDK8 support until 2031 at least.

And yeah, upgrades past 17 are easy.

  • kaba0 10 days ago

    > It's so bad that there are companies promising JDK8

    Come on, that's absolutely not the reason behind. That just means that there are banks and such that still run goddamn windows XP completely firewalled off from the internet just because. Similarly, for some companies not touching that ancient codebase and just having it safely run worth the hassle and the money.

    Java is the most backwards compatible language and it is not even a close competition.

    • cyberax 10 days ago

      > Similarly, for some companies not touching that ancient codebase and just having it safely run worth the hassle and the money. > Java is the most backwards compatible language and it is not even a close competition.

      It's amazing to have two contradicting sentences right next to each other.

    • Yasuraka 9 days ago

      > Java is the most backwards compatible language and it is not even a close competition.

      In competitions consisting of Java, PHP and Python, I presume?

      • kaba0 9 days ago

        In competitions of real world code in a language that has been in use for close to 30 years, and I can find a java 1.1 program that will both compile as source on the latest version, AND the original compiled version itself will run on a modern JDK as is.

        • Yasuraka 8 days ago

          And I assume this mythical 1.1 program does of course do a lot more than System.out.println and the reason that it took until recently, in part thanks to the Log4J fiasco, for 8 (almost 11 years old) to no longer be the most widely used version, was just superstition?