Announcement

Collapse
No announcement yet.

OpenJDK 16 Released With The JDK Source Beginning To Use C++14 Features

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Originally posted by cl333r View Post

    I'm guessing java still uses the ancient awt system underneath?
    Depends on the UI toolkit: for AWT and Swing yes. But not for JavaFX afaik. Nowadays, with modularized JDK, you can throw that stuff out if you don't need it.

    Comment


    • #22
      Originally posted by cen1 View Post

      On the contrary, very little, if anything breaks between java versions in my experience.
      I'm guessing your experience doesn't involve anything beyond Java 8? Because with newer versions, they've been working to slim down the core platform, and that has meant breaking backward compatibility in some areas. Most of these changes are good — for the most part, they're things which really should have been implemented via libraries rather than core platform — but they're the reason 8 has persisted as long as it has... migrating off it is non-trivial.

      Off the top of my head, they've removed applets and associated infrastructure (a no-brainer since browsers stopped supporting them), they've dropped the SOAP and JAXB libraries and tools which used to be bundled (replaced with external libraries), they've dropped some stuff around CORBA and RMI (again, replaced with external libraries), etc. And more subtle, they've either removed or blocked access to a number of internal JVM interfaces which were commonly used to do "unsafe" stuff which would otherwise be impossible in Java — alternatives have been developed, but adopting them requires effort.

      Comment


      • #23
        Originally posted by Delgarde View Post

        I'm guessing your experience doesn't involve anything beyond Java 8? Because with newer versions, they've been working to slim down the core platform, and that has meant breaking backward compatibility in some areas. Most of these changes are good — for the most part, they're things which really should have been implemented via libraries rather than core platform — but they're the reason 8 has persisted as long as it has... migrating off it is non-trivial.

        Off the top of my head, they've removed applets and associated infrastructure (a no-brainer since browsers stopped supporting them), they've dropped the SOAP and JAXB libraries and tools which used to be bundled (replaced with external libraries), they've dropped some stuff around CORBA and RMI (again, replaced with external libraries), etc. And more subtle, they've either removed or blocked access to a number of internal JVM interfaces which were commonly used to do "unsafe" stuff which would otherwise be impossible in Java — alternatives have been developed, but adopting them requires effort.
        I do java and JavaEE since Java 7 and everything you described had almost zero impact on anything that is not abandonware. I did not have to change a single line of code in my own applications, just had to change or update some dependencies.

        - applets: nobody cares, nobody uses them anymore.
        - soap and jaxb: just a dependency away
        - corba and rmi: legacy stuff, did not use it ever and I don't think many people do.
        - internal JVM: it was already deprecated so I never used any internal API myself, external dependencies will just have to get up to date and they mostly did other than some very specific stuff like powermock.

        TLDR: zero changes in application code, some dependency updates. Java updates are a walk in a park for downstream developers like myself.

        Comment


        • #24
          Unfortunately, maven in Ubuntu 20.04 crashes with Open JDK 16

          Comment


          • #25
            Originally posted by PapadakosPanagiotis View Post
            Unfortunately, maven in Ubuntu 20.04 crashes with Open JDK 16
            Your problem here is Ubuntu. It probably ships a 2yo version of maven.

            Comment


            • #26
              Originally posted by Delgarde View Post
              they've dropped some stuff around CORBA and RMI (again, replaced with external libraries)
              You must be kidding. NOBODY uses CORBA and RMI. Nobody used them 10 or 15 years ago either. XML RPC pretty much replaced legacy RPC/RMI. It was pretty much tied to Java VM anyways.

              Comment


              • #27
                Originally posted by caligula View Post
                You must be kidding. NOBODY uses CORBA and RMI. Nobody used them 10 or 15 years ago either. XML RPC pretty much replaced legacy RPC/RMI. It was pretty much tied to Java VM anyways.
                Yeah, no. Many people don't use those things — that's why they were removed from core platform — but there are tons of old enterprise systems out there, carrying decades of baggage. CORBA is a pain in the ass to deal with, but it used to be state of the art for this kind of thing in the 90's... and pain the ass or not, it works and companies don't like spending money replacing working code. And likewise RMI was integral to the early days of Java EE, and there's still huge amounts of that code still in production.

                People don't write a lot of new CORBA or RMI code these days, and are generally trying to migrate away, but make no mistake, they're still widely used.

                Comment

                Working...
                X