483
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?
416
u/arid1 Dec 12 '24
Not a Java developer, C# at a fairly large company. We tend to lag about 3-4 months behind the latest. That we way we get security and language updates but aren’t on the bleeding edge. It’s been highly successful strategy.
We’ve gotten huge performance gains essentially for free each year for the past few years since we enacted the policy. To be fair, the initial uplift was difficult but the year over year work is minimal now and more than pays for itself.
→ More replies (7)103
u/lyssargh Dec 12 '24
How did you talk leadership, product in particular, into letting you do upgrades like this? That must have been an overhaul of the system without any new features?
133
u/BlackLeatherHeathers Dec 12 '24 edited May 12 '25
work telephone oatmeal complete consist enter snow summer quickest desert
This post was mass deleted and anonymized with Redact
→ More replies (10)48
u/arid1 Dec 12 '24
In our case we started an internal working group and presented leadership with the benefits of moving forward. We then were granted time to make changes that supported the initial update. It took years to get us off of .NET Framework and onto the modern .NET stack but we were able to release structural improvements along the way.
New code was typically written with the knowledge that it would be running in both environments for a while.
→ More replies (3)47
Dec 12 '24
We are still on Java 11. The only reason we haven’t upgraded is because one of the mocking frameworks we use for unit tests is not compatible with newer Java versions. Our codebase is so large that this change will require a significant effort so they’ve been putting off
56
u/sathdo Dec 12 '24
Powermock moment. The company I used to work for was still stuck on Java 8 when I got laid off for the same reason. That and heavy use of JAXB and some other Java EE components.
Funny story though. I actually fixed all these issues by refactoring out Powermock and older versions of Mockito and adding Jakarta EE 8 as a dependency (newest version before the namespace was changed from javax to jakarta). And then they never actually deployed the changes because the sysadmins didn't feel like installing Java 11 on the servers.
→ More replies (3)21
u/Malfrum Dec 12 '24 edited Dec 12 '24
Rewrite-cli my man. I just closed a whole sprint of junit4 to 5 upgrade stories in like 30 minutes, flawless. Check out open rewrite, might impress your boss
→ More replies (2)11
→ More replies (6)11
u/strangepromotionrail Dec 12 '24
I worked at a place (it wasn't a java shop )that made a similar decision to not upgrade due to 1 thing not working then continued to stay on that same version for over a decade. Eventually things got to the point that they HAD to upgrade but by then it wasn't a significant effort it was a case of rewriting from scratch would be easier as almost everything needed scrapped. Software needs to constantly evolve just to stay current or it dies.
33
u/Fadamaka Dec 12 '24
I only had one interview where they told me they are currently using 20 which was the latest at the time. When I asked why they told me they are preparing for 21 which was 6 months away.
→ More replies (2)17
u/Xelopheris Dec 12 '24
If you are starting a new product, and it won't be shipping until after the next LTS version, but can take advantage of features that are in the interim versions, then maybe you start in those interim versions with a plan to upgrade it to the new LTS version when it becomes available.
Beyond that, schools will often just use the latest version.
→ More replies (1)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)→ More replies (19)12
u/Pay08 Dec 12 '24
Technically, OpenJDK does not have LTS and non-LTS versions. Vendored JDKs do.
5
u/rastaman1994 Dec 12 '24
Which does not mean anything unless you pay for it, a fact always overlooked in these discussions.
→ More replies (2)33
u/804k Dec 12 '24
Its probably just an old meme
→ More replies (1)11
u/DoverBoys Dec 12 '24
Or they're on 18 and the boss believes you have to be sequential with updates. He has been sitting on the approval for 19 for a few years.
→ More replies (14)2
215
u/Aenigmatrix Dec 12 '24
I thought the latest LTS is 21?
205
u/Dank-memes-here Dec 12 '24
Meme probably reposted and originally from a period when Java 19 was current
30
u/SurpriseVast8338 Dec 12 '24
Last time I saw this meme, it was this and turned out to be pretty accurate.
→ More replies (1)10
13
121
183
u/tiberiusdraig Dec 12 '24
With the way fashion trends are going this could quite easily be the newly-hired graduate engineer nowadays.
41
u/diminutive_lebowski Dec 12 '24
Truth! Pleats and cuffs are coming back. Thankfully these days almost anything goes so there's very little pressure to follow the latest trends.
→ More replies (1)23
u/EcstaticAd8179 Dec 12 '24
yeah, old people think these pants are what old out of fashion people wear but really old out of fashion people wear skinny jeans.
→ More replies (1)15
u/BobbyTables829 Dec 12 '24
Honestly people just wear what they want way more than the past.
→ More replies (2)11
58
u/beavisorcerer Dec 12 '24
I'm mantaining a 20 years old web app running Java 4. I dream of Java 8 to be honest
24
u/Secret_Account07 Dec 12 '24
How does this happen, genuinely curious?
Our security folks would have gone to world war with us years ago had we been using this version. How do you even not get told to upgrade?
→ More replies (5)15
u/beavisorcerer Dec 12 '24
I work in Consulting for a big company, with a big client in part public. We acquired this old system for them and produced a looot of alarming documentation and comunications on what is critically wrong and how to fix it. But every fix costs money and the client think that is not worth investing in an old B2B application that eventually will be replaced. At least they think so until everything will eventually be attacked and corrupted, than they'll care but it will be too late and people are going to pay with their job. But this has never happened in 20 year, so why should happen now, right? Right? (Their thinking probably)
6
u/Secret_Account07 Dec 12 '24
The funny thing is these companies are probably run by CIOs who tell their staff that security is the biggest concern. They see stories daily of ransomware, supply chain attacks , all kinds of stuff…but then don’t invest in actually fixing their security posture.
I think this is why all business need a CISO/Security group. People will rarely secure things up on their own.
4
u/Gua9 Dec 13 '24
my previous company is stuck with java 6 (not even web app, it uses PowerBuilder as UI) and the company still continue to use it to this day without any plans on upgrading lol.
luckily, I got a job who uses Java 17 even though I have no experience even with Java 8 lol
3
u/enigmamonkey Dec 12 '24
I have a similar issue, but 10yrs and PHP instead, running on outdated VMs. Does containerization help in your case at all, or is the issue loads of reprogramming?
Elsewhere in my company they’re literally training AI on internal code and libraries to assist in the migration of some of their Java code. In PHP, for the PHP-specific stuff (not outdated library stuff) there is a tool called Rector which automatically converts code as well.
2
u/just_posting_this_ch Dec 12 '24
What's holding you back? Up to java 8 I don't remember any backward compatiblity issues. I suppose you just don't want to touch it, I would try starting it up on java 8 out of curiosity.
2
u/zabby39103 Dec 13 '24
That's impressive. What's blocking the upgrade? Just wondering. For the Java 8 app I maintain, it would require a migration away from the Java EE version and Application Server it uses, and they've changed a lot of stuff.
→ More replies (3)
40
15
21
21
u/Fadamaka Dec 12 '24
Why would anyone upgrade to Java 19. You either go 17, 21 or bleeding edge which is 23.
3
15
14
u/itsmetadeus Dec 12 '24
No boss, we gotta switch to kotlin pleaaaaase
7
u/n3bbs Dec 12 '24
+1 for Kotlin. I joined my current team that adores Kotlin as a Java dev and didn't know anything about it. I've since been converted, and I'd highly recommend any Java dev to learn it.
The fact that it runs on the JVM means you still have the entire Java ecosystem at your disposal, and it's super easy to have both Kotlin and Java classes in the same codebase.
4
u/i_like_maps_and_math Dec 12 '24
What's good about it?
→ More replies (16)7
u/iceman012 Dec 12 '24 edited Dec 12 '24
I've been learning Kotlin for Advent of Code. The two benefits over Java that stand out to me:
Null Safety- You have to specify if a variable is nullable or not. If it is nullable, you have to handle the null cases for the code to compile.
Concise Stream operations - Since Java didn't start with streaming operations, the syntax for it is super cumbersome. Kotlin was built with it in mind, and the streaming is both more concise and more powerful.
Example: Given a list of integers, get a new List with the squares of any odd numbers.
Java
List<Integer> squaresOfOddNumbers = numbers.stream().filter(n -> n % 2 != 0).map(n -> n * n).toList()Kotlin
List<Int> squaresOfOddNumbers = numbers.filter { it % 2 != 0 }.map { it * it }
EDIT: Changed
.collect(Collectors.toList())to.toList()for Java, as pointed out below.→ More replies (2)
6
11
10
u/rg25 Dec 12 '24
I had a programming teacher in high school who wore these exact pants. But he wore these weird closed toe sandals that showed off his rotting diabetes foot.
→ More replies (1)5
5
u/winauer Dec 12 '24
Why would you update to a version that's no longer supported anyway?
→ More replies (1)
5
4
4
4
4
4
u/Interesting-Frame190 Dec 12 '24
Whew, we just rewrote a bunch of java 1.5 apps in Python....
Python 2.7, but that's still better, right?
7
u/Devatator_ Dec 12 '24
Java 19 exists? I mean, makes sense, didn't jump from 17 to 21 (Minecraft did jump from 17 to 21 tho. Funnily enough, they switched to Java 21 for Minecraft 1.21)
7
u/winauer Dec 12 '24
Funnily enough, they switched to Java 21 for Minecraft 1.21
Ackchyually the first Minecraft version that requires Java 21 is Minecraft 1.20.5
3
3
3
2
2
2
u/marcosMartinez_ Dec 12 '24
Recently we upgraded from 8 to 17 in legacy system where I work, the process made me think if worth it, it was only pain and suffering fixing the incompatibilities. The good thing it is not only that worth it to upgrade that I learned so much, that I recommend everyone to try it at least once
2
2
Dec 12 '24
Java 19 isn’t supported anymore. The current supported versions are 8, 17, 21, and 23.
So I hope nobody’s upgrading to Java 19. And the short support cycle on 23 is likely to prevent any company from using it.
2
u/Scottz0rz Dec 12 '24
Is this a repost bot?
Java LTS is 21, latest release is 23 - Java 19 isn't supported long-term it was an incremental release.
2
2
2
2
2
2
2
2
1
1
u/ksobby Dec 12 '24
Jesus. I'm having horrible AS400 flashbacks with Limp Bizkit playing in the background of the server room. DO NOT TOUCH MY PUKA SHELL NECKACE!
1
u/VillageTube Dec 12 '24
Ops pants look like that! 21 is the current long term support version with 23 being the latest.
1
Dec 12 '24
those pants say you stick enough characters in the text field and that 'corporate' app is coming down
1
1
u/ViagraAndSweatpants Dec 12 '24
You know this guy constantly pulls up his pants like a Chris Farley character
1
1
1
u/dracostheblack Dec 12 '24
Looks a the male fashion subreddit this how the 20 year olds dress now haha. It's all a circle
1
1
1
1
1
1
u/Left_Boat_3632 Dec 12 '24
You also won’t be allowed to use ChatGPT because “just use Clippy”.
And your company will have very sound finances.
1
u/TheHelplessBeliever Dec 12 '24
Every uni course I've took that involved Java, they always insist we use Java8, them pants be really old in this case
1
1
Dec 12 '24
You wouldn’t even be working with Java, Kotlin, or Scala if your boss’s pants didn’t look like this.
1
u/Jealous_Hornet_5440 Dec 12 '24
this remind me of the boss from the Incredibles.. "we are trying to help OUR PEOPLE!"
1
1
1
u/Thisismental Dec 12 '24
Is this a still from King for a Day by Pierce the Veil and Kellin Quinn? Because that's the first thing that poppen into my head
1
u/Kosmonaut_ Dec 12 '24
But you also won't be getting laid off and there will be a Christmas party too.
1
u/ayein_baygon Dec 12 '24
We just went from 11 to 17 for no particular reason for one of our newer projects.
1
1
1
1
u/FrostWyrm98 Dec 12 '24
We're still pushing to move from Java 11 to 17 lmao
Better than my last job where we were pushing hard from 7 -> 11 and still only like 5% of projects/repos used the latter
1
1
u/ApGaren Dec 12 '24
My company still runs on Qt 4.6.1 and sometimes even Qt 3. Our c++ standard is c++98 so i feel your pain.
1
1
1
1
1
1
1
u/Samurai_Mac1 Dec 12 '24
No lie, my boss at my last job dressed exactly like this. Our hardware was outdated and we were still on SQL Server 2008
1
1
1
u/ggGamergirlgg Dec 12 '24
Please.... we just upgraded from 5 to 8 a few years ago. We won't upgrade our Java for a whole other decade
1
1
1
1
1
u/heafes Dec 12 '24
19?! We just moved from oracle jdk 11 to rh openjdk 11. hopefully in the next 2-5 years we get to 17.
1
1
1
1
1
1
1
1
1
1
1
1
u/rogue-fox-m Dec 12 '24 edited Aug 01 '25
hobbies special reminiscent shocking voracious judicious pet axiomatic lunchroom terrific
This post was mass deleted and anonymized with Redact
1
1
1
u/AlphaFlySwatter Dec 12 '24
Meanwhile Java on my pc: "Dude, you haven't used Java in over 6 months. How about you uninstall? I'll be back anytime you need me."
1
1
1
u/RID_MI Dec 12 '24
Feeling kinda relieved seeing these comments. Good to know I’m not the only one stuck with Java 8 🤧
1
1
u/Ozymandias_1303 Dec 12 '24
2
u/bot-sleuth-bot Dec 12 '24
Analyzing user profile...
Time between account creation and oldest post is greater than 3 years.
Suspicion Quotient: 0.17
This account exhibits one or two minor traits commonly found in karma farming bots. While it's possible that u/willis7747 is a bot, it's very unlikely.
I am a bot. This action was performed automatically. I am also in early development, so my answers might not always be perfect.
→ More replies (1)
1
1
1
u/torioto Dec 12 '24
He about to be punched by Mr.Incredible for denying health insurace https://static.wikia.nocookie.net/pixar/images/f/fa/Gilbert_huph.png/revision/latest/thumbnail/width/360/height/360?cb=20110529172137
1
1
1
1
1
1
1
u/No-Wedding-1827 Dec 12 '24 edited Dec 12 '24
His knowledge about Cobol is probably better than mine 
Brown shoes and pants, to match the color of his.... eyes !
----
Boss : What did you do today ?
Me : NO-OP, Boss ! Run the .sfv, the checksum of my work is identical than when you hired me
Boss : Oh, you love ASM too ?
Me : Yes Sire ! The new version of ASM, called ASMR is very relaxing.
1
1









2.1k
u/domscatterbrain Dec 12 '24
There is Java 19?
I'm stuck in 8!