Java (VM) is Backward compatible. Code built by java 1.4. 2 will run on 1.5 & 6 VM's. The JDK compiler is not backward compatible.
JDK 8, 11, and 17 are all reasonable choices both for compiling and running Scala code. Since the JVM is normally backwards compatible, it is usually safe to use a newer JVM for running your code than the one it was compiled on, especially if you are not using JVM features designated “experimental” or “unsafe”.
Scala 3 has excellent backward compatibility guarantees between the minor versions. Right now, that means that code compiled with Scala 3.1 can depend on libraries published with 3.0 without any problems.
As I have already mentioned, even in its How and When To Deprecate APIs, nothing is being said about a policy regarding actually removing the deprecated APIs...
The number of applications based on older JVM (1.4 for instance) is still important, in part due to application servers which take a long time to validate themselves with new versions of JVM...
The sheer number of applications which are actually running in production means this “backward compatibility” policy may not be broken anytime soon.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With