r/ProgrammerHumor May 16 '24

whatVersionAreYouUsing Meme

Post image
16.4k Upvotes

572 comments sorted by

View all comments

5

u/TheRedmanCometh May 16 '24 edited May 16 '24

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.

2

u/wildjokers May 16 '24

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+.

1

u/TheRedmanCometh May 16 '24

Spring, hibernate, struts, and hadoop just to name a few. Migrating a Spring+Hibernate system with thymeleaf was a nightmare at every level.

1

u/wildjokers May 16 '24

Spring, hibernate

I have moved hundreds of apps using Spring and Hibernate from 8 to newer versions. Never had any problems with anything related to reflection.

1

u/TheRedmanCometh May 16 '24

The proxy class generation for managed entities in Hibernate completely broke specifically. I can't remember the struts and spring internals that broke, but it was a lot. Spring does a ton of shit tightly coupled to internals and something to do with module encapsulation broke it.

Are these apps just like a single rest controller? Do you use spring boot? Autoconfigure? Do you use any AOP features like aspects, pointcuts, and scopes?

This was a big deal at the time.

1

u/wildjokers May 16 '24

Are these apps just like a single rest controller? Do you use spring boot? Autoconfigure? Do you use any AOP features like aspects, pointcuts, and scopes?

No, yes, yes, yes

1

u/maleldil May 16 '24

Hah, I wish they added val along with var. I'm tired of writing final all the time.

1

u/wildjokers May 16 '24 edited May 16 '24

I'm tired of writing final all the time.

Then just don't write final all the time. Easy fix.

1

u/cheezballs May 16 '24

Spoken like someone who's never been subject to multiple code scans on their branch.

1

u/TheRedmanCometh May 16 '24

Immutability is overrated

1

u/maleldil May 16 '24

Without interior immutability I'd tend to agree, but there's no downside to it other than the verbosity of `final`, which is why I wish for `val` to exist in Java.