| ▲ | hunterpayne a day ago | ||||||||||||||||||||||||||||||||||||||||
Maybe the JVM team should listen to the market then and disable the jigsaw encapsulation that keeps devs on 1.8. Forcing a questionable security framework on everyone is why 1.8 is still used. Again, this is a problem because the PMs (and some devs) refuse to listen to what the market wants. So they are stuck keeping a 20 year old version of the code working. Serves them right to have to do this. It is their penance for being too arrogant to listen to the market. PS Yes, I know, there is some weird way to disable it. Somehow that way changes every version and is about as non-intuitive as possible. And trying to actually support the encapsulation is by a wide margin more work than it is worth. | |||||||||||||||||||||||||||||||||||||||||
| ▲ | pron 14 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
First, the number of projects still on 8 is low, and almost all of them are legacy projects with little to no evolution. Second, modules' encapsulation is not what caused the migration difficulties from 8 to 9+, evidenced by the fact that it wasn't even turned on until JDK 16: https://openjdk.org/jeps/396. From JDK 9 through 15, all access remained the same as it was in 8. The reason a lot of stuff broke was the JDK 9 was the largest release ever, and it began changing internals after some years of stagnation. Many JDK 8 libraries had used those internals and had become dependent on them not changing - though there was no promise of backward compatibility - because there was no encapsulation. Finally, the market clearly wants things like projects Loom and Panama and Valhalla, things that wouldn't have been possible without encapsulation (at least not without breaking programs that depend on internals over and over). It's like people complaining about the noise and dust that installing cable ducts causes and say, "nobody asked for this, we just asked for fast internet!" | |||||||||||||||||||||||||||||||||||||||||
| ▲ | clhodapp a day ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
I'm pretty sure that the majority of shops that aren't worrying about Android have moved on from Java 8. The JVM team only keep Java 8 working for customers paying them lots of money for extended support contracts. And that's only because they have this long-term extended support system for all LTS JVM releases (they are also still supporting 11 in a similar manner). On the other hand, Android doesn't even support Java 8. It supports the long-dead Java 7 plus a subset of Java 8 features. Android essentially froze their core application runtime in amber over ten years ago and have just been adding layer upon layer of compiler-level sugar ever since. The effect is an increasing loss of the benefit of being on the Java platform, in terms of code sharing. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| ▲ | pjmlp a day ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
I have not done a Java 8 project in years, other than Android because the reasons we all know. Maybe Google could finally support latest Java versions on Android, instead of begrudgingly update when Kotlin lags behind Maven Central most used versions. Which by the way is a Java 17 subset, not Java 8, when supporting Android versions below Android 12 isn't required. | |||||||||||||||||||||||||||||||||||||||||
| ▲ | imtringued a day ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
What you're asking for is essentially commercial support from Oracle. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||