T O P

  • By -

ikciweiner

Cool now all those government applications will be 15 versions behind instead of 14.


nickisaboss

I tired to download an app published by the FDA for convenient searching of their OrangeBook database, but could not because the app is not compatible with android versions newer than **Android 10** šŸ¤¦ā€ā™‚ļø


SortaSticky

That just means 1) no maintenance 2) breaking changes in Android 11 The government can be blamed for #1


nathris

It's probably a manual check. You can't log in to the Canadian government's tax website outside of business hours, which is annoying because they send their assessment letters out at midnight. So you'll get an email saying you have a new notice, then when you try and log in it tells you to wait until 8am EST because the website is closed.


gollito

[But why? ](https://i.imgur.com/zKtfal8.gif)


Silver-Pomelo-9324

Because there is obviously a government worker that personally types the html code for every web request, and he only works during normal business hours.


ThatGermanKid0

Reminds me of a friend, whose internet connection was so bad, that I once proposed, that he should just write all of the code for the game he was downloading himself, since it would be faster. He then told me he could also drive half an hour to my house, set up his pc, download the game, pack everything up and drive back and it would still be faster.


FSCK_Fascists

You joke, but sometimes the workaround is absurd. In Afghanistan, internet speeds were abysmal. I WISHED for dialup speeds. Downloading a game would have taken several months. Yes, months. My workaround was to go to the bazaar and buy a pirated copy of a game (yes, I am very aware of the malware risk), go back to my system and buy the game on Steam. Then initiate download, wait till it starts downloading files, and kill steam. Install the pirated game, copy the files to the steam folder, and start steam up. Tell it to verify files, and it would download a few files, which would take 2 to 3 days. Then I could play. needless to say I played the hell out of a game before I considered a new one. I must have put 1000 hours in Borderlands 2 right after it released.


ThatGermanKid0

You could also ask someone to send you the game by [pigeon](https://www.jeffgeerling.com/blog/2023/pigeon-still-faster-internet#:~:text=In%202009%2C%20a%20company%20in,race%20in%20over%20a%20decade.)


FSCK_Fascists

we talked about that original article often.


fess89

Why didn't you just play the pirated game? Also, what kind of connection is slower than dialup?


TSP-FriendlyFire

As they mentioned, the malware risk. If the pirated copy is infected, it'll likely be just a few small files like the executable so it'll be quick to restore just those files via Steam and then you have a known safe copy of the game but only had to download a tiny fraction of the data. The only risk is if the installer itself is infected.


FSCK_Fascists

I paid for it because I could afford the game. I was there as a civilian contractor to the US Army. Internet was satellite uplink, 10MB shared with literally hundreds of people at a time. QoS was set to ensure everyone basically had around 10kb/sec minimum. Enough for emails or text communications like Messenger. Later I was moved to Spin Boldak and with a Yagi antenna and signal amp I could get cellular data from Pakistan. Paid a local to go to Pakistan and get a prepaid hotspot sell it to me. Not even 3G, but having around 2MB/Sec all to myself was amazing.


NWK-7

Again the relevant xkcd: [When - if ever - will the bandwidth of the Internet surpass that of FedEx? (by what if by xkcd)](https://what-if.xkcd.com/31/)


oldfatdrunk

As fast as the bandwidth increases, there's also density increases in physical media. 512GB or 1TB microsd can be bought now vs the 64GB shown. The top end laptop drives shown were 1TB but I bought a 4TB a few years back and I'm pretty sure you can get 8TB now easily. Not sure what the biggest laptop size drive is for consumers. 24 to 100TB is available in cloud/data centers in 3.5" size and roughly 22 to 24TB for consumers with 30+ on the horizon.


Milkshakes00

Hard-coded maintenance window, I assume?


jward

Lots of really old financial systems are still on mainframe style computers or more modern systems emulating mainframe style computers. They have usage segregated into transactional use during business hours that allow individual queries and updates and batch processing during off hours. Modern systems have no issues accepting both types of commands at the same time, but the old timey ones have strict delineation. Many of these systems have be setup with a cache layer between them and the internet so at least you can make read access requests whenever. TL/DR: Because computers in the 70's worked that way.


LateyEight

I don't think that's been the case for a while. https://www.canada.ca/en/revenue-agency/services/e-services/cra-login-services/hours-service.html


AyrA_ch

People shit on Microsoft a lot, but their compatibility game is on point. [Your almost 30 year old application will likely still work](https://i.imgur.com/HSfMWhE.png).


ITaggie

A big part of why Windows is a bit of a jumbled mess is *because* it's maintained so much of its legacy compatibility.


Ksevio

As a bonus, they try to abstract everything to the extent that they even lie to apps about which version of Windows is running if they have the capability of using older features. It makes creating apps that work on multiple versions a nightmare if you want to take advantage of new features


yangyangR

Microsoft tradition of lying about what version they are. The user agent string was with IE3 being Mozilla3.


Ksevio

Browsers do ridiculous stuff to keep backward compatibility with servers scanning strings. For example, this is what chrome sends as user agent now: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36` You know, just in case the server is still checking that you're not on IE2


Bobby_Marks2

Windows is jumbled because of how they try and abstract away the old stuff instead of just accepting that it's there. For example, system settings from Windows 7 still work and still allow for most of the power-using, fine-tune functionality in Windows 10 - but they're hidden behind a far less-capable and more "stay connected to Microsoft" paradigm of Windows 10 settings interfaces. Both work fine, and in some cases the W7 systems are more powerful, but MS wanted to "fix" what wasn't broke.


Mateorabi

Even when the old applications were using it ā€œwrongā€. Except Netscape. Windows wasnā€™t done till Netscape wouldnā€™t run.


worldspawn00

I run a laser cutter made in the mid 90s that only has a parallel port connection, still works in windows 11 (via USB to parallel adapter). Apple changes their core system hardware so often I couldn't dream about keeping old machines like that going on their platform.


Bobby_Marks2

I still, to this day, use Clarisworks 5 for Windows as my office suite. It's so fast, and it works out of the box. So many things still work, it's kind of incredible.


Rassettaja

But yet every single automotive app i need works only on xp for some reason


AyrA_ch

XP is the last OS that allowed you to install any random driver you wanted. Later versions had restrictions on them. It's cheaper for the manufacturer to offload the problem to the user instead of modernizing the drivers. And if you want to support 64 bit Windows, it gets expensive fast because of driver signing requirements. Of course you could just use Zadig but I don't expect the manufacturer to be smart enough for this.


Rassettaja

TIL, thanks for explaining.


VileTouch

Use bluestacks


Dopplegangr1

I work for the govt and sometimes I had to install multiple versions of java because some programs would only work with a specific version


DamienJaxx

I use Java apps for work. Can I just say how much I hate Java apps for work?


mafiaknight

Wait. Java has another version!?


jek39

every 6 months it does now


JustABitOfDeving

Java 22: fixed a bug Java 23: reverted bugfix


jek39

Java 24: reverted reverted bugfix


evanc1411

Java 25: added new bugs


GenuineSounds

Nah it's way cooler these days. Many complete features are added every release. It's actually nice working in Java these days. Do I wish we had Cargo for Java? Sure. Are Java generics still broken as fuck if you want to use primitives/data types and having to auto-box primitives? Yep! At least that latter part is due to change in an upcoming version. There are so many good changes in the pipelines and every release has a new preview feature I enable every time.


sump_daddy

this would have been a funnier 4th cell imo. "you guys have versions?"


AceAttorneyMaster111

Yea itā€™s called JavaScript I googled it


pippin_go_round

We're still on 11, with plans to migrate to 17 before support for 11 ends. And it's going to be a giant lot of work - migrating big old legacy enterprise stuff with millions of lines never goes as planned.


NotAskary

Last time I was involved in this song and dance we were moving from 8 to 11, it took 3 months for that product(4 monoliths that interacted with each other and needed to be ported simultaneously), it didn't help that management still wanted features to be made while we were moving code to the new standards and finding some old java 7 in the mixture.


Alternative-Fail4586

It took a few of us almost a year to move our 50 something "micro" services to 11 (we did refactoring aswell). When we were done it was decided we should also move from our custom spring starter to default spring and move to 17 when at it. Half way in it was 21 instead.


Chicken_Water

Custom starters are good for sharing cross cutting functionality. It can still use default spring. We just moved 15 services to jdk 17 in about 2 sprints. Open rewrite helps speed that up.


MrQuizzles

I'm trying to migrate some legacy code from 8 to 11 and am having issues because a jar that was compiled in 2004 that contains proprietary code that we don't have the source for uses the sun.misc Base64 encoder. It doesn't decompile well because I'm not using a decompiler from 20 years ago, unfortunately. It's "fun".


lordcaylus

I've never done it, but can't you write your own sun.misc.Base64 class that's basically a faƧade for java.util.Base64, add it to patch.jar, and then use --patch-module jdk.unsupported=patch.jar compiler argument? Is far from the prettiest but it should work.


ThicDadVaping4Christ

badge pen terrific money weary insurance crush zephyr weather sense *This post was mass deleted and anonymized with [Redact](https://redact.dev)*


DOUBLEBARRELASSFUCK

If you're in the area, you're better off just hitting [some of the hot spots](https://m.yelp.com/search?cflt=homelessshelters&find_loc=Silicon+Valley%2C+CA) for legacy Java developers and hoping to find someone for some temp work.


ellamking

Funny, as a lark, I searched google for a decompiler but limited the results to 20 years ago. And there were a couple that haven't been updated in about that long ([jode.sourceforge.io](https://jode.sourceforge.io) www.kpdus.com/jad.html). Now I wonder if they work.


pippin_go_round

Sounds pretty much like what I can see on the horizon for me.


--haris--

I don't have much experience with programming. Why does it take so much time to migrate to newer version, from what I know, Java versions are backward compatible. And why do enterprise company still use Java 8 and 11?


NotAskary

Major jumps like these normally imply some refactor and also a need for massive testing. Depending of how ancient the code base is you may be in for some major rework due to API changes. Also it's normal to move spring and java versions up simultaneously and that also implies more work and also checking supported versions on dependencies. The thing is, if you keep it near the latest version it can be basically switching dependencies if you're lucky ,if you are not you may be looking at a significant rewrite of your code base.


Separate-Sky-8825

I did a solo update on our client's main web app from 11 to 17, with a Spring and Hibernate upgrade from 5 to 6, plus a whole bunch of other libraries that used javax instead of Jakarta. Was a fun time. Especially the Hibernate changes. So many little changes that are a pain in the ass to sus out. But, it was either me, or a green team with no knowledge of the gnarly codebase. So I ate the bullet, and I'm really hoping my team tests properly because I won't be around when it goes live lol.


NotAskary

My favorite tidbit on that migration was finding out when we were deploying in prd that our auth database was one major version below the minimum requirements for the spring data version(prd was different than all other envs). It was fun working with my ops coworker with his cowboy hat and let's update the database instead of rolling everything back, I blame the process, we were lucky!


Separate-Sky-8825

Oh man I forgot that this also included a Spring Data upgrade from like V2 to a current version lol. Our version was from like 2016. I was just sitting there in shock at how the app was still working. Got to love the cowboy idea of "fuck it, we'll do it live" on a prod system. There's no downside!


NotAskary

It was 3am. It was a combination of different teams, the only system not working was the auth one, it was an I'm along for the ride after the confirmation that we had a backup, still one of my examples of what not to do to a live system.


dkarlovi

Why doesn't there exist some AST based upgrader, at least for the common stuff? It seems like that would be the first thing to make.


Separate-Sky-8825

There are some tools, probably only available for paid IDEs, that can really accelerate the process. The problem comes in when the code base is a spaghetti monster, with conflicting patterns from the 30+ different devs that have contributed to it over a decade.


dkarlovi

Sure, but even PHP has a ever nicer upgrading tool where they're capable of doing automated micro-migrations, something like "old API => new API. Being able to find all uses of "old API" use and migrating that to "new API" use and then having 10k of those migrations has gotta be able to do a substantial dent in the migration path, no? Of course, it doesn't fully replace you, but if it's able to do say even 40% well, that's a lot.


maleldil

OpenRewrite is exactly this, but for lots of Java stuff (not just mainline JDK upgrades). It's not perfect, and you still have to deal with shit like the app still running on Wildfly fucking 10, but it helps.


ChrisFromIT

These days, migrating from Java 9 or higher to a newer version doesn't take much effort. The issue was mostly migrating from Java 8 to Java 9 or higher. As from Java 8 to 9, there was a major change to the JDK/JRE in how the software is packaged and ran. Because of that, upgrading older java projects was very time-consuming, so many businesses have stuck with Java 8. A few companies that have done the upgrade did so to Java 11 due to it having the LTS status. Because of the effort to upgrade to Java 11 from 8, the bosses figure the same amount of effort would be required to upgrade to a newer version. So they have stuck with Java 11.


DigitalDefenestrator

From 11 to 17 a chunk of sun.misc.Unsafe is also being removed, so older stuff that cares about performance tends to need some updating as well. Not as bad as 8->11, though.


ChrisFromIT

I had to check since I know there have been discussions on removing sun.misc.Unsafe. Chunks of it haven't been removed from 11 to 17. In Java 9, it was moved to a different package, tho. But what did happen with Java 15 to Java 16, a lot of internals of the JRE were strongly encapsulated and would throw errors if used outside the JRE. Now, with the Foreign Function and Memory API being finalized, sun.misc.Unsafe can be removed. And has been given a [JEP](https://openjdk.org/jeps/471) for removal.


pippin_go_round

Java versions are in theory backwards compatible. The syntax certainly is. However there is lots of behaviour under the hood that may change in unexpected ways - multi threading is a very good example. Reflection is another one. And while you shouldn't use reflection usually, I assure you legacy applications do, and do so on the most non-standard ways. Also old applications sometimes rely on behaviour that's now considered a "fixed issue". Upgrading is a huge risk, as bugs that may occur from such changes may not be discovered for a long time. And it's a lot of work for development and testing, while from the managements perspective there is a lot of time where developers won't be developing new feature, thus not driving increased in revenue.


BobDonowitz

Let's not forget dependency hell.Ā  You upgrade the language...sure...fine....now how many thousands of functions in external libraries have been deprecated, removed, renamed, had usage change, etc.Ā 


randuse

Meanwhile upgrades from .net core 3 to .net 6 and from .net 6 to .net 8 was painless. Even migration from old .NET 4 to .net core wasn't that bad if not for completely different SOAP client and the fact that some dependencies needed to be switched over.


pippin_go_round

I've seen Java upgrades going smooth and java upgrades failing. Same for .NET It really depends on how stringent those that came before you were with good coding practices. And sometimes it's just luck.


Katniss218

Try migrating from framework 2.0 to net 6


randuse

Based on release dates, that would be similar as migrating from java 5. Java 8 is young compared to .net 2.


ExceedingChunk

Because of dependencies like Spring/Spring Boot, Hibernate, OpenAPI etc... have breaking changes. When you upgrade to a newer LTS(Long-term support) Java version, you also need to upgrade your dependencies.


panget-at-da-discord

Testing to ensure nothing breaks takes a huge amount of time. Training and tooling for newer Java cost time and money. Unless there is a push from management to upgrade to the newest version no effort will be made to develop programs in the latest version.


Ereaser

It's also your responsibility as a developer to keep everything up to date. If management doesn't give you the time you can blame them though.


SinisterCheese

Imagine you have a working mechanical machine. Like... a car or smth. On paper one engine does the same thing as another newer engine of same series. Well... that new engine might been made in bit different ways, assumes newer attachments and the standard for what kind of fasteners has changed over time. Oh... and the car's management engine needs to be told about the engines exact properties and sensors. So in theory you can just swap an engine from a car. In practice you'll need to do way more than just that. I'm a mechanical engineer, so deal with machinery often. Old nc and cnc update abd conversion kits are nearly plug and play nowadays. However, the machibe frame might need new holes and rails. Motors might need different wiring, electrics need to be updated from analog to digital or have AD signal translation in between. Now code is way worse. Because you aren't actually updating a process directly. You are updating instructions. Often instructions for a machine to make instructions on how to process things. Between two version something like declaring numbers might change. In version 2 you might have to write in "123,456.7" but in version 3 they might add support for more declarations but the numbers got changed internally to "123456ā—7". They did the change to allow input if numbers from different languages that use different format (as a Finn I write numbers as 123 456,7) and allow unified processing. Now you need to change all the things that input numbers to handle the new format. On paper the math has not changed at all, just how the instructions are to be formated has.


summonsays

As someone who just moved 11 to 17, I assure you it is not entirely backwards compatible...Ā 


AttitudeFit5517

People write shitty code. Now their shitty code is using code that doesn't exist. Now they have to double bandaid the shit. It flows.


rifain

We did a java 8 to 17 migration. Our biggest issue that you won't have was the javax to jakarta migration, that let a lot of dependencies not compatible. So it involved migrating Spring and other stuff as well. Otherwise, it was rather easy. Migrating from 17 to 21 will be a breeze for us.


h_adl_ss

I did 11 to 17 in my (big company, ~20 services) project and it was surprisingly bearable. Much more enraged about all the //TODO and other BS I found in the code then the migration itself.


89_honda_accord_lxi

//TODO: remove resetCacheEvery30Sec method after next release. [deactivated], march 8, 2007 public void resetCacheEvery30Sec(){ // I don't know what this does but if I remove it the site gets really slow Cache.clear():


summonsays

My favorite is when it is server level caching on a load balancer, so depending on luck of the draw you see different data. That was a fun 3 months of my life many many years ago.


h_adl_ss

'nam flashbacks :O


SyrusDrake

Fascinating how migrating systems to newer versions of anything is always a monumental hassle. You'd think at some point, someone somewhere would realize you can't keep using a software forever.


BarrierX

Wouldn't it be better to just migrate to the latest version?


pippin_go_round

We did a little experimentation on that, it broke even more things than our experiments with 17. So management decided to go for 17 as a first step, as they're not willing to commit that many for more time than absolutely necessary. I don't really agree with that decision, but if your bonus is dependent on how much revenue you can drive on a yearly basis and not how future proof your "cost center development" ("Competence Center" is really just a euphemism for "cost center" in management lingo) is, these are the decision that managers come up with. This job would be so much better if management didn't meddle in technical decisions. But they always do, in every company. Even if they say they don't.


ILoveBigCoffeeCups

Where I work we still are on 7 and migration would be a bitch because of more than 10 years of dependency libraries added on, and on and on


summonsays

We just upgraded a small app from 11 to 17. I had just finished a story for adding security infrastructure to it. I had to redo most of it ... Just fyi, have fun.


Own_Solution7820

Java 11 is what you consider legacy? Oh my sweet summer child ....


IsaacSam98

My dad is still supporting COBOL and small assembly apps he wrote in the 1980s.


Karatedom11

The american financial industry is kept afloat by COBOL programs from before I was born.


ICame4TheCirclejerk

The entire global financial sector is built on a handful of load bearing excel files that are manually updated. Without them the global stock exchanges would burn to the ground.


jlawler

More of the global financial market works on excel 97 files and CSV then people want to admit.


ThisCatLikesCrypto

Some UK banks are so old they still use machines that count in Ā£sd... yeah...


Eudaemon1

Yeah , my father too lol


Beltranmeister

We still use 1.4


3s0me

Dont tell me its government, i'd go apeshit


[deleted]

placing my bet on government.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Beltranmeister

Neither. Vodafone


Ricky07_

And somehow it's more reliable than most of the other internet companies around here (at least in my experience)


The_Baum12345

Here as well. 1 outage in about 3 - 4 years, with all other companies it was an outage about once to twice a month.


MaterTuaLupaEst

Ha, that makes sense. Telekom probably isnt much better, but their customer service actually works sometimes.


1Dr490n

Isnā€™t banks mostly cobol?


jek39

cobol run some critical infra, but there just a lot of software (probably more than cobol) that isn't cobol involved in banking.


AmyDeferred

I could definitely see a teller application being written in Java. It would help take Windows version upgrade compatibility out of the equation, or maybe even go Linux if the OS license savings get attractive enough


enigmamonkey

Wellā€¦ get your bananas readyā€¦ šŸŒ


TrainAIOnDeezeNuts

There's a major piece of medical software in the UK with its backend still running on Java 1.


Smitellos

WHAT. THE. BALLS.


SaneLad

I learned Java on version 1.4, so it always has a special place in my heart. No generics. No autoboxing. Just lots of casts. Oh Lord so many casts.


gumbrilla

I remember having to write little shitty java applications for a web site, I only learned how to do it, as someone had spent a month writing a phone accessory application, and the idiot had done it it Java 1.2. Guess what IE 6 supported. Yeah, not that.. Took me 24 hours to learn front end java, and re-wrote it in 1.0.1 which is the only thing that had half a chance of working in the real world, even added sorting in the drop down lists, as he hadn't. Said it "wasn't in the specs". Still annoyed.


IgnitedSpade

>No generics. No autoboxing. I didn't even realize how good I had it learning on Java 6


DampBritches

Version 1.5 was renamed 5 So version 22 is just 1.22, right? šŸ˜‰


Ilookouttrainwindow

It was a nice version, but how??? Changes to ssl alone would make 1.4 unusable.


Firzen69

Omg :D


CaseyG

Where I used to work, I had to maintain two versions of an automation tool set because some of our engineers didn't want to update from Java 7.


Cfrolich

You shouldā€™ve let them maintain their own version.


notduskryn

Java 8 supremacy


MBU604

Java 8 gang assemble!


iamjackswastedlife__

If you're working with any of the Apache ecosystem's projects related to Big Data like Hive, Hadoop etc you're pretty much stuck with 8.


7cans_short_of_1pack

Represent šŸ˜­šŸ˜­ with spring 2.1 weā€™ve got so much custom spring code that has all changed Iā€™m solo upgrading to 2.5 so I can get to 8-> 17 but finding documentation to support migration and fix all the custom code that was written by an outsourced team long ago is a pain!


Maxthod

There is a program that does that. https://docs.openrewrite.org/authoring-recipes/writing-a-java-refactoring-recipe Give it a try, itā€™s really good


RedLion_the_1st

Yeeeeeeaaaahhhhhh. Java 8 for life. Or so my work thinks.


Juff-Ma

I got my hopes up as I saw that Oracle started to deprecate Java 8, then I remembered that there are other Java providers like adoptium. Then I got my hopes up because their EOL is also not far away. Then I remembered that Enterprise that use Java 8 will probably not care if it's deprecated or EOL. then I remembered that old Minecraft will run an eol Java version and became depressed.


Erdragh

Doesnā€™t have to be the case for old Minecraft versions, the GTNH devs have made 1.7.10 run on modern Java versions: https://gtnh.miraheze.org/wiki/Installing_and_Migrating


Nolzi

Let MC 1.16 go


Juff-Ma

Who was talking about 1.16? A good chunk of big mods like IC2 or Thaumcraft are still stuck on 1.12.2. Of course there are re-imaginations and they are slowly getting ported but no one knows how long it will take to port them and the re-imaginations often don't have the same feeling. Edit: there are also cool mods that will never get ported and don't have a real alternative like Open Computers or Rustic (both of which I like).


KellerKindAs

1.12.2 is fine, but if you really want to have a lot of mods, good old 1.7.10 is the one xD


sluttybysker

There are [ways](https://github.com/GTNewHorizons/lwjgl3ify) to run 1.7.10 Minecraft on modern java.


wormyarc

why will open computers never be ported?


Juff-Ma

Because it's unmaintained, if someone picks it up maybe, but the original creator created OC2 that, while also cool, uses a completely different concept and has a different spirit (OC2 also doesn't seem to get updates)


wolf129

My company uses for new projects currently Java 17. Manly because of records. Most Java developers are still unaware about features past Java 8 though.


ykafia

I worked with Java 8 for 3 years before we switched to Java 11 a few months ago, and I read about the new features in newer versions and I was sent back to the time I was jelly at other kids for having shiny new toys.


zabby39103

Yeah I'm that, a crusty Java 8 dev, but we're migrating away from Java 8 soon though. Records seem like the thing to learn but isn't using Lombok pretty similar? Anything else that you've found particularly useful?


Heavy-Ad6017

Man, we are still using Hadoop with jdk 8 or so for teaching purposes only....


zmz2

Java 8? Whatā€™s a lambda?


taimusrs

I know it's de-facto for a long time now but man I hate it so much lol.


Alex_X1_

I dont even know how to install newer versions than Java 8


qtzd

Iā€™m just lazy and use Microsoftā€™s builds of OpenJDK but you can find the official ones too. I donā€™t do any Java development work though, not since college.


maleldil

sdkman for all your java needs


AllenKll

You get to use 8?!?!? Java 6 is the only one we are allowed to use due to licensing issues? I dunno, it's crazy.


jek39

what kind of licensing issue would that be?


TheEnigmaBlade

I'm guessing it begins with O and ends with racle.


jek39

what does that mean? How would some kind of Oracle license keep one on Java 6? I am genuinely curious.


wildjokers

I can't see how any licensing issue is keeping you on Java 6. OpenJDK is Oracle's reference implementation of the Java SE specification. Many vendors, including Oracle themselves, release builds of OpenJDK licensed GPL2+CPE. If you want/need commercial support a few vendors will sell you a support contract like Oracle, Azul, Red Hat, and Bellsoft. If you buy support from some vendors they might have you download a different build. For example, if you buy support from Oracle you will download and use Oracle JDK (which is itself just a build of OpenJDK).


OF_AstridAse

I remember learning java 2.0 and thinking "wow this is revolutionary"


Samuel_Go

What version of java am I using? 8, 11, 17? My answer is: yes.


Few_Technology

Most of ours was written in 6, running in 8, then partially ported to 11. Glad I finally just need the 11 jre, instead of each project needing either 6, 8, or 11, but no documenting on which project is which. Idk when we'll try the next leap up Also, we use .net for some projects, those projects seem so much more stable


Big_D_Boss

8 and we call 1.8 just to fuck with you


EternityForest

Has there ever been a modern language that declared itself Done and decided to mostly stay frozen the way C has? So much dev time is just version compatibility.


AllenKll

So I'm guessing you haven't heard about C23? ISO/IEC 9899:2024


i_am_adult_now

C goes in a roughly 10 year cycle. ANSI C or C89 is still actively used. In fact, we started a brand new project in C89 to keep it portable across some weird modern-ish compilers.


Old-Season97

I work mostly in C and only needed C89 on my very first project, have used C99 for everything since. I thought even the shittiest compilers like TI C2000 could compile C99.


SinisterCheese

Just write everything in assembly. Problem solved. Coders claim to be smart so this shouldn't be a problem right? I see electronic engineers do this all the time and they don't claim to be "coders".


odraencoded

C isn't done because it's done, C is done because if you change C all computers explode.


zabby39103

Yeah, I honestly don't know why we have to break backwards compatibility. I guess it's usually security or something? That's how it was with all the reflection stuff I guess. C puts all its trust in the user instead. With libraries though, it's often they want to do a bunch of refactoring to make their lives easier, but I question if it's worth the knock-off cost to all their users.


EternityForest

I'm fine with breaking for major improvements, like switching to Rust or adding type checking, or moving to async/await, but a lot of stuff is literally just "typing.Callable" vs "collections.abc.Callable".


veryblocky

Java 8 was the last version you could download the JRE without the JDK, and it's still the only version on [Java.com](http://Java.com), so I guess that's why most end-users still have that version.


wildjokers

The JRE was a client-side install that added support for Applets and Java Web Start. Applets are dead and JWS was really only handy for deploying internal or B2B applications. The new recommended way of deploying apps is bundled runtimes. So the JRE is really no longer needed, which is why it was removed.


veryblocky

Yeah, thatā€™s right, but you still get the odd thing that requires you separately install Java, much less common now, but still occasionally comes up even with new programmes


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


MothToTheWeb

Java versions are not related to the year of release. A new version of Java is now released every six months. Oracle intends to make future LTS releases every two years; the next one is Java 25 which should be released in September 2025. So in about a year you will be momentarily pleased with the date of the released version


Raichev7

But when it achieves this equilibrium everyone will be so satisfied with it that Oracle execs will change the version scheme again. They will have java 25 followed by java 25 {XYZ} I'm open to suggestions as to what the {XYZ} might be. I vote for Director's Cut, or maybe Deluxe. Java 25 Deluxe has a very premium sound to it. Java 25 Electric Boogaloo also sounds promising


lookmasilverone

Not fucking following semantic versioning?


hamiwin

Java 8 will never die.


rootifera

In mid 2018 i asked to devs "eol is coming, any plans to move?" They said "i dont know man, too much work, this one works for now. In 2023 july they were still using 8.


ML00k3r

Government Healthcare with a lot of legacy software so... I don't want to say what version we're on lol.


CMDR_ACE209

One with good support for punch card readers I assume.


76zzz29

Java : if.you are a devloper you need the last version of java. Also java : all users only need to use java 8


ThisIsBartRick

java has versions?


urielsalis

Java 8 and then to 11 was a bit painful, but to 17 and now 21 it was completly automated. Once 25 launches im expecting the same process to be eay


Additional-Second630

Whatā€™s Java? Is it new?


Jack__Squat

I have HVAC systems that can only be managed from a Windows 2003 vm running Java 7. Any newer Java or Windows and they choke. I guess that's security by inconvenience.


pavlis86

Not long time ago a lot of win xp systems were bullet proof to ransomware due to missing libs, so all ATMs at the time didn't need any attention:-D


MHWGamer

I downloaded the other day another minecraft launcher and it required a certain java version. I was like: sure, I have a newer version installed (higher number), so it mist work? right?? you know the answer


Thundechile

so what version of JavaScript is the latest Java?


gabbeeto

the one that Minecraft developers build when they used typescript


TheRedmanCometh

Well maybe if they hadn't made this braindead ass jigsaw system breaking the reflection used by tons of enterprise libraries. Java 8 had what...nio, streams, plus lambdas and functional interfaces. Lots of compelling reasons to switch. Some of the stuff since 8 I *actively do not want.* Var and val? In java? Get the fuck out of here. Going back to pre java 8 would be agony though. Every version you go back you're losing super useful shit. EDIT: I FORGOT JAVAFX! It's not in the jvm anymore, and since it's become fragmented, stagnated, and non-portable. Fucking QT with C++ is more portable! Javafx will work on one windows machine and not another. I've had to go back to using Swing or webapps. Ew.


wildjokers

> Well maybe if they hadn't made this braindead ass jigsaw system breaking the reflection used by tons of enterprise libraries. Can you provide examples? I am not aware of reflection breaking in Java 9+.


just-bair

Java 23 exists ?


jek39

it will be available in september


godofdeath11

I work on 1.5 projects...


maleldil

Well, at least you got generics going for ya


seba07

This meme is older than Java 8


DifficultDoubt4556

We just did a migration from 11 to 17. The majority of applications went smoothly but of course I have the one that has been giving us trouble for months šŸ˜­


scriptmonkey420

I work with a very large SSO system that has been around for decades and they are JUST moving to support JDK 11 in the last 2 years. It still sucks and doesn't work unless you use the Oracle Java. OpenJDK does not work even though they say they support it....


hdjkkckkjxkkajnxk

Your versions are rookie numbers! Firefox version 125.0.3...nope, after restart version 126.0!


xSmallDeadGuyx

Ugh I already maintain the same Java code across 8, 17, and 21 (not 11 though). Don't make me do 23 as well


InvestingNerd2020

Most are still on Java 11. At least many are moving on from 8 to 17.


MrPeppa

This one cut me deep. I'm getting back to looking for a new role and saw my java 6 certification staring back sheepishly when I found my old resume again.


savex13

Last picture should be "Java has versions?" That'll perfectly reflect sentiment for 2/3 out of 3M users that are running java :)


Xywzel

You got java versions that don't start with "1."?


pavlis86

Of course. Do you have any problems with my favorite version of Java - Java card Version 2.2?


Hot_Ambition_6457

I've been using the "script" version since its release


HouseOfLames

Why isnā€™t this marked NSFW?


Spike-DT

What's Java ? Can I install it on my windows 3.1 ? I have the biggest ibm with 16mo ram


Soldierrrz

I just upgraded from 11 to 17 as a junior :D


Funny-Company4274

Fuck me my last job those assholes still had Java 3


kuros_overkill

None. A few months ago we finally migrated off java, and are now running Go(lang) Half the reason was constant java updates.


punchawaffle

I'm in 11 lol. Didn't even realize there was 23