Java version to use
Hello, I have looked around for an answer to this, but I have yet to find one. I try to stay quite rigid to the Arch way of doing things, trying to use the latest version of all tools to build said codebase. I have just updated one of my packages to use the Arch Gradle version instead of the gradle version used by upstream, I have also recently migrated the same project to using the latest version of node as it is compatible. For more information about this migration, see: https://github.com/reposilite-playground/reposilite-aur/issues/17. So this brings up a new question, what Java version to build packages with? Older Java versions are supported, and compiling with older Java gives more backwards compatibility (new Java versions can use old bytecode, but old Java versions cant use new bytecode). Personally I am tipping towards building with the latest java version (jdk-openjdk), if the code provided by upstream compiles just fine for said version, shouldn't we promote using the latest versions instead of building with the "officially recommended" versions, this is Arch, the idea is to use the newest tools which are packaged is it not? I got a feeling people might complain not being able to use their old versions of Java with newer builds, but new Java versions have performance improvements, memory improvements, and just general improvements to allow the JVM to run better, so why not push for the latest version to get used? I know this breaks Java ideology, which is compile once run anywhere, but I say compile latest and have the best optimisations possible. I am interested to see what others think about this, as it is within the AUR I can trail this and see how it goes. Of course, if the project doesn't build with the latest version, use an older runtime, but why are we adding >=11, Java 11 is old now, and although it is LTS and the most common version, the performance difference between 11 and 20. I have found the following (I do not know how reliable said statistics is), but it should give a general idea of why I believe this is beneficial: https://www.optaplanner.org/blog/2021/09/15/HowMuchFasterIsJava17.html Please let me know what others think about this? It boils down to compatibility or performance, and I would go for performance, but my opinion is NOT all that matters :) Take care, -- Polarian GPG signature: 0770E5312238C760 Website: https://polarian.dev JID/XMPP: polarian@icebound.dev
participants (1)
-
Polarian