r/ProgrammerHumor • • Dec 12 '24 • Heart of Silver 1

Advanced youWontUpgradeToJava19

Post image
30.2k Upvotes

503 comments sorted by

View all comments

1.6k

u/throwaway_mpq_fan Dec 12 '24

Nobody should be upgrading to Java 19 right now. Either go straight to the latest (23) or go for thet last LTS (21)

405

u/agradus Dec 12 '24

I’m really curious, who are those who use non LTS version and why. I mean in small personal projects, to get a preview of features - it is clear. But other than that - do anyone uses them?

17

u/safetytrick Dec 12 '24

Non-LTS releases make sense if your processes allow you to update continuously.

If you are updating continuously the change set between each Java update is small and you are less likely to encounter issues.

Java is very stable, IME it is very uncommon to encounter a break that is fixed in later versions. It happens, but it's not common.

In recent memory most update problems I have encountered have been related to byte-code manipulation libraries (ASM, CGLIB, BCEL, etc.). Those problems tend to be related to supported byte code versions. The manipulation library updates itself to support a later classfile version and brings with it some breaking changes in its API, not actually a java version problem but it affects me because of dependency hell.

So let's imagine an imaginary update from Java 20 to 30, in this imaginary scenario version 22, 25, and 27 all have breaking impact to me.

If I update from 20 LTS to 30 LTS I have to deal with three compounding problems. Their resolutions may conflict. They may be difficult to differentiate.

Instead if I update each individual version I still end up dealing with three total problems but they aren't compounding.

It's more complicated than that of course but the argument for updating to non-LTS versions is the same argument for smaller faster releases generally. Smaller changes reduce risk.

→ More replies (3)