• schteph@lemmy.world
    link
    fedilink
    arrow-up
    28
    arrow-down
    1
    ·
    2 days ago

    Java is religiously backwards compatible. Modern java projects are not as enterprisey and boilerplatey, but, as jdk21 is backwards compatible with jdk1.3, you can still happily write code as if it’s 2003.

    Additionally, the java space is huge, so just wildly googling will probably not help you that much.

    • taladar@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      1 day ago

      On the other hand back in Java 1.2, 1.3 and 1.4 days you frequently had companies install a specific patch level version because their applications worked only with that patch level. That was back when Java was actually popular for some reason.

    • Hawke@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      1 day ago

      Is that why every single application will only work with some ancient version of Java?(usually 8, sometimes 1.6 or 11)

      I can’t think of many cases where Java 21 is a drop in replacement, and I don’t think anyone actually used 17.

      • pivot_root@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        1 day ago

        That’s entirely the fault of applications (or more likely their libraries) using internal APIs or JNI. As long as it isn’t doing anything screwy with reflection and class loading or using the sun.* packages that aren’t part of the language specification, Java bytecode compiled for ancient Java versions will still work on modern versions.