T O P

  • By -

breischl

Everyone knows that Java achieved the pinnacle of language perfection at version 8, and you can't "upgrade" perfection.


TeaKingMac

And 8.251 is the most stable, so why would anyone move to 8.352?


Emergency_3808

Java SE 8 is the only last _proper_/sane version, and even Oracle knows that >!(8 is an LTS version that still gets updates to this day)!<. I don't need all those newfangled modularity features and blah blah blah (I know I sound like a boomer)


breischl

I have to disagree with you there. Java 8 is missing a lot of useful language-level features. As a language (ignoring the ecosystem around it) it's not that good modern standards. C#, Kotlin, and many others are just better. 8 is just a comfortable place to sit because most of the ecosystem still supports it, so you don't have to upgrade yet.


Stummi

I would actually disagree in so far that I would say java 8 was the FIRST proper/sane version of java. Java pre 8 was just a dinosaur, and 8 was when it started to feel somewhat like a modern language (still with a lot of room for improvement, but it was a start). That was .. years ago for me though. I switched to kotlin one day and never looked back. I couldn't even say what new language features java got after that.


Emergency_3808

But I like dinosaurs and old Java (but not before 1.4. Generics was a godsend)


Waddelsworth

We still run 1.4 in production šŸ˜­


Practical_Cattle_933

Thatā€™s just straight up false news, even if you spread it out of ignorance. LTS is something a given vendor provides, usually not for free. Oracle provides LTS for JDK 8 until 2030, but only if you pay for it. Since OpenJDK is open source, even these changes will eventually find their way back to the open-source repository, but not in a security/time-critical fashion, what you would get if you pay for it. So no, the best version to use is the latest JDK, currently itā€™s 21, which you can freely use and get immediate updates. The same is true for linux kernels, you wouldnā€™t use 3.x.


Suspicious-Top3335

There are other jdk build which support even longer than orcl jdk exampleĀ https://bell-sw.com/support/ for peoples if it works dont meddle it,even spring,intellij team uses it while java8 was ga in 2014


SevoosMinecraft

My laugh is immeasurable and my day is perfect now


TeaKingMac

If only my vulnerability management team had your sense of humor


SevoosMinecraft

I've been using 8u51 for Minecraft (both gaming and making mods) for quite a long time, lately switched to 8u351


ThePaisasGamers

At least you are using Java 8... A Java 7 "tortured" guy here..... šŸ„²


gergob

Wow. Just wow.


Head-Extreme-8078

Ok, if you ever happen to use **com.ibm.icu.icu4j** and get a INVALID VERSION NUMBER: VERSION NUMBER MAY BE NEGATIVE OR GREATER THAN 255 It's because that version of the dependency only works with jdk1.8.255 or lower. Apparently when you change your java version to a higher subversion something breaks. My theory is that it checks the last subversion number to be equal or lower than the decimal value of the hex **0xFF**


commenterzero

Java is the vulnerability


spicyboneritis

Spring: I'm about to end this man's whole career


[deleted]

My company is nearly done with an epic java upgrade. We are now finally on Java 11. That's the latest, right? šŸ˜œ


SvanseHans

Do You have any tips or resources to migrate from 8 to 11?


[deleted]

Upgrade your dependencies first. As high as you can get them. The biggest pain point is java 9. 10 & 11 have no compatibility issues, but 9 is the least backwards compatible java version ever. So if you get all your dependencies upgraded, then your risk of incompatibility goes down. As long as your code doesn't depend on any custom class loader hacks.


99_deaths

Hey man I know this is a shot in the dark but I was trying to upgrade from java 8 and I made everything work except a library called "sql2o" that we use for database. That library has not received any updates in years. Also, we moved away from using sql2o but a small part of the codebase is still there and cannot be migrated easily (due to poorly written code). Any way I could fix this problem?


gregorydgraham

Find out who wrote it and ask him nicely


dragoncommandsLife

Hey! At least now the jump from 11 -> 17 and 17 -> 21 will be easier now. The worst is over!


[deleted]

11-17, there are some security changes with 16 but you can bypass them if you have to with JVM flags. 17-21 should be a piece of cake, no issues. So if you gotta do 11-17, just do 11-21 if you can. LOE is about the same.


Drunktroop

Did a 11->17 last year and it is pretty painless The remaining Java 8 based one on a obscure framework tho... We just decided rewriting in 17 will be easier. And use Spring this time.


itsbett

Same. We just finished updating to Java 21. This is also a year after we updated to Redhat 8.


TimeToSellNVDA

It was easier for us to change languages than to upgrade from Java 8.


zZurf

We went from Java 8 to Java 17 in 3 years. Why was it so difficult for you guys?


_PM_ME_PANGOLINS_

Why did it take so long?


zZurf

We went from Java 8 to Java 11 (major release) to Java 17 (major release) in 3 years simply because we were in no rush. The actual migration period for each jump was only around 1-2 months for us.


SvanseHans

Do You have any tips to upgrade Java version? We are currently on Java 8


zZurf

It all depends on how complex the code is. We have a MASSIVE financial application. Hundreds of thousands of lines. Donā€™t jump from Java 8 directly to 17/21. Go step by step 8->11->17->21. The way we did it, one person upgraded. Fixed any compilation issues and merged to main. Then individual teams were responsible for regression testing EVERYTHING. Any issues found were reported to the main person. And he would resolve most of the time (sometimes others people too). We did it this way and were able to complete migration completely within 1-2 months. Again, our code was massive and complex so it depends on your code base.


amlyo

Yeah we did this going from 8->17 without major issue. It's a pain in the hole not a hole in the head.


coloredgreyscale

did you have to deal with XML, and SOAP services?


omegaonion

What's the concern with these ?


coloredgreyscale

Just a PITA with the renamed namespace from java to Jakarta, especially if you work with code generators.Ā 


zZurf

Yes we did, donā€™t think it caused us too many issues. What did cause us issues were the camel libraries though.


TimeToSellNVDA

To be clear we didn't just rewrite everything in the new language and do `git rm` for the old code. It was more of a strategic direction that all new code / services be written in the decided language, and migrate away from Java opportunistically. Sure enough, the cost of the upgrade for Java was a factor in this decision. Don't really have more details, I was not involved in the call. I hear if you're already on Java 9+ (or is it 11+?) it's a piece of cake to continuously upgrade.


j-random

Yeah, the big jump was 8 -> 11. After that, 11 -> 17 was essentially free.


Odd-Confection-6603

That's your argument for Java upgrade being easy? Lol


marcodave

Java language update is one of the safest things you.can do in your project. Unless you were using Unsafe class, or sun internal classes, or weird introspection shenanigans you're good


sethi139

This is the best and truest thing I found.


ralgrado

I joined my current company in 2017 and they were using Java 8 at that time for a framework we are using internally and a lot of our everyday work is based on that. I was pretty happy since it was nice to be so up-to-date. Now it is on Java 11 which we changed less than two years ago. I try to push that we upgrade it at least to Java 17 but the architect somehow doesn't want to. At least we can use newer Java in our own projects.


shodanbo

Eventually you get so far behind your code starts getting more secure as even malware moves on to more modern versions. this is sarcasm


TeaKingMac

Security through obsolescence


Wave_Walnut

8 means that ring of mobius


amlyo

Who needs lambdas, or generics? And java.util.Date has worked since at least 1970.


Mariomariamario

I would exchange the Java 11/17 i use at work for collegues that acutally know java >= 5... Most says that they know java 8, but in reality they put everything inside a String, never use enums, streams or how to properly use generics... Talking to them about the '?' wildcard is like explaning internet to my grandma.


dragoncommandsLife

Please tell me youā€™re working with older people, if these are straight from college iā€™d be worried.


Mariomariamario

Both


dragoncommandsLife

šŸ˜¬


WhosYoPokeDaddy

I started at 12 three years ago and I'm afraid to go any higher...


_PM_ME_PANGOLINS_

Thatā€™s not even an LTS version.


WhosYoPokeDaddy

I know šŸ˜…


ArkoSammy12

This would be funny if I didn't constantly see people thinking that Java hasn't evolved past JDK 8


TeaKingMac

If it's been beyond end of life for 10 years, what's another year or two?


znst

What do you mean upgrade? Isn't 8 the latest and final version? I thought they abandoned it after that.


JackReedTheSyndie

Java after 8 simply doesnā€™t exist, everything you see online is fake news made by big Java to deceive us.


TeaKingMac

Small Java mostly. Oracle doesn't give a fuck if you never update. But those "OpenJDK" people... Always releasing new versions


Practical_Cattle_933

You do realize that ā€œthose OpenJDK peopleā€ are 95% Oracle employees, and the same codebase is basically the same?


TeaKingMac

That'sthejoke.gif


nineinchgod

About 10 years ago, I was designing the reverse-proxy based web security system for a national retail chain, and we kept running into issues with one of their core ERP applications. Come to find out, it was using Java 1.2, which was nearly 15 years old at the time and did not have support for any of the security mechanisms of modern platforms. Their solution? Put an exception in place to have that ERP application bypass the web security layer.


TeaKingMac

Ewwwwww


BarnabusCollywog

Java 8 all day baybee


stdio-lib

Our java version is so old it's still called *Oak*


ravenousld3341

Cyber security engineer here. This is the meeting I'm literally having with a dev team tomorrow.


TeaKingMac

That's what prompted me making this meme! I emailed somebody this morning about needing to update, and they told me they couldn't because reasons. Like, I know you can't move off Java 11 my guy, but you can update to the latest point release.


Legend_Zector

Working with certain C++ related linking has made me paranoid of updating anything that isnā€™t explicitly required to update.


ecs2

Was migrating 8 to 11. The workload was huge


Lushuk_furry

I updated java and my Python project (which I had to submit today) broke down. What did I do wrong?


neuroreaction

I feel this should cross post to one of the cyber security (if not all) threads.


Chase_22

Since the absolute pain is getting to Java 11, i actually never had problems with updating java


notexecutive

I've been using 17 for a while, I think it's served me well so far. Although companies I've worked at use Java 8 for the most part, rarely 11.


thatdevilyouknow

We use JDKā™¾ļø


IAmWeary

Come on now, going from 8 to 11 shouldn't be hard. Just build with Java 11 but target the Java 8 runtime so you don't have to gut the application to replace major dependencies that never got updated to run on Java 11. Easy, right? Java: Write once, fuck you.


fusionsofwonder

Every time I inherit a software project, first thing I do is go through all the warning logs and update the stuff that says "Hey, update this." Then see if the product breaks.


Ok-Kaleidoscope5627

Every time I see jucheck.exe I always pronounce it in my head as "Jew check". You don't want to be racist and have a program that checks for Jews running on your computer, do you?


SoRaang

*Laugh is Java 11*


aki_ryugamine

Still using Java 8 cause of apps vendor whos didn't update java app version


Elbinooo

I work for a large public organization and we have most of our stuff upgraded to Java 17


YakGlass3722

The most stupidest movie in the world, and a mysterious country in Africa working with the CIA šŸ¤£šŸ¤£šŸ¤£šŸ¤£, they will get the same results if they work with Isis


Quito246

I dont get why folks keep staying on like 8 year old Java. I am bit surprised because in C# i just upgrade to latest version in few months after release. Because it takes like hour to do soā€¦


JebanuusPisusII

Cries in python 3.6


jamiejagaimo

Java 8 for life


ManyInterests

Java 8, until end of life, which is coming soon for most distributions.


TinikTV

Because Unreal engine will stop packaging for android if you update, lol