this post was submitted on 30 Sep 2024
368 points (99.2% liked)

Programmer Humor

19589 readers
620 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 31 comments
sorted by: hot top controversial new old
[–] [email protected] 38 points 1 month ago (5 children)

Java is also a lot of fun in this regard. They've actually dropped support for java 8 about 2.5 years ago. But Oracle has added a "premium subscription" that gives companies another decade or so of extra support to delay updating their code even further. https://endoflife.date/oracle-jdk

[–] [email protected] 20 points 1 month ago (1 children)

Worse yet. They switched licensing and costs several times and companies should prepare to get hit with new licensing fees:

When they introduced Java 17 (a LTS version), they published it under the NTFC license. This means, this version is usable for free, but only until the next LTS version has been out for a year.

On Sep 19th 2023, Java 21 was released another LTS version. That means, that Java 17 just switched from the NTFC license to the OTNLA license a few days ago - which means, Java 17 is supported until 2029 but you now need a paid license to use it.

Hope everyone upgraded to Java 21 or newer in time.

[–] [email protected] 8 points 1 month ago (1 children)

Isn't this only for Oracle's JDK?

Just use an open source fucking solution

[–] [email protected] 2 points 1 month ago

Yes, it’s just Oracle - Temurin, Coretto,… are all safe.

Oracle offers (paid) support for its Java distribution, which might be why it’s still used by companies…

[–] [email protected] 14 points 1 month ago (1 children)

Isn't java generally backwards compatible? I switch java versions willy nilly in my (small) projects and never really noticed any problems when upgrading the version

[–] [email protected] 13 points 1 month ago (1 children)

Yes sure, but not forwards compatible. That means if you need to fix a bug or add a feature in a project that is build on java 8, you cannot use language features from later versions. They are pretty important features at that, like a workable Http client, modules, container compatibility, records and enhanced switch statements. It is not fun to work like that, it's what makes good programmers want to become chicken farmers.

[–] [email protected] 4 points 1 month ago (1 children)

Are you complaining that older versions of Java don't have the features of newer versions of Java...?

[–] [email protected] 2 points 1 month ago

No, of course not. The complaint is having to work with outdated materials.

[–] [email protected] 8 points 1 month ago (1 children)
[–] [email protected] 4 points 1 month ago

Linux 6.1 will be supported until August 2033 btw

https://en.wikipedia.org/wiki/Linux_kernel_version_history

[–] [email protected] 1 points 1 month ago

Doesn't every company offer that? "Yeah we're really done supporting this, but if you want to spend a million quid a month on it then sure, you can have ultra extra extended support", then every old company that relies on this for their money-printing machine and can't be bothered updating their ancient code sends them a blank cheque.

[–] [email protected] 1 points 1 month ago

oh, that's a cool website

adds it to bookmarks and search bookmarks

[–] [email protected] 21 points 1 month ago (1 children)

I'm so glad I never had to work with angular. Those constructs always disgusted me

[–] [email protected] 8 points 1 month ago (1 children)

Confusing syntax to replace confusing syntax, library dependencies that let you do nothing you couldn't do without them. Generic solutions are always the best for specific problems, right?

[–] [email protected] 2 points 1 month ago

Why yes! We need the kitchen sink there, just in case we ever need to use a kitchen sink!

[–] [email protected] 7 points 1 month ago (3 children)

What’s the argument for using Angular over other solutions? Let’s say you actually need a SPA.

[–] [email protected] 10 points 1 month ago

For me, as primarily a backend dev, the argument was that it's a framework, unlike React, so you get an everything-in-one solution which is quite easy to setup and use.

Given that Google still hasn't killed this one yet, it's also a mature platform with plenty of articles online on how to use it.

IIRC the license was also better than React's, at least last time I checked.

Not sure on what the landscape looks like today, but when I was making the choice, the internet didn't seem to consider other solutions to be competitive with either React or Angular.

[–] [email protected] 1 points 1 month ago (1 children)

What would be good other solutions?

[–] [email protected] 3 points 1 month ago

Vue and React are popular alternatives.

Lit is a less popular alternative that's 100% compatible with native WebComponents, and I've been interested in it ever since I first heard of it.

[–] [email protected] 1 points 1 month ago

To me at least angular makes a bit more sense than React's way of doing things does. React tries to be functional with its components and yet it seems like they end up basically trying to mimic classes with useState and useEffect. To me Angular's class-based approach makes a bit more sense (though I am primarily interested in backend development more than frontend so that could be why)

It does kind of fall into a lot of the traps of Object-Oriented programming though so I can see why a lot of people don't like it

[–] [email protected] 7 points 1 month ago (1 children)

I think it was 5 to 6 that was a really tough one for me because we had an in-house state management library that broke with the major breaking changes to RxJS. After that was pretty much no issue all the way from 6 to 17.

[–] [email protected] 1 points 1 month ago

There are a few libraries we're using that stopped being developed after Angular ~9-10 and one we use extensively with breaking changes between 10-12. Updating to 8 wasn't too bad but for some reason Angular's update tool didn't actually do anything so I had to update the package.json manually and fix stuff by hand (luckily the only change was fixed with a bulk find/replace)

[–] [email protected] 6 points 1 month ago (1 children)
[–] [email protected] 4 points 1 month ago

The old version, AngularJS, died. The newer Angular lives on, and I heard it's a much better experience.

[–] [email protected] 5 points 1 month ago

Come to v18, things are nice here.

[–] [email protected] 4 points 1 month ago (1 children)

But did it reach test or production environment yet? Or will it die in development environment.

[–] [email protected] 7 points 1 month ago

Don't come at me like that 😭

[–] [email protected] 3 points 1 month ago

If only their β€œautomatic” updater worked without throwing errors on every migration…

[–] [email protected] 1 points 1 month ago (1 children)

"i upgraded from winxp to win7 guys"

[–] [email protected] 0 points 1 month ago (1 children)

One step at a time 😭

[–] [email protected] 2 points 1 week ago

AT LEAST I DONT DAILY DRIVE MS-DOS ANYMORE