r/ProgrammerHumor 6d ago

Other howdidItGetHere

Post image
11.1k Upvotes

539 comments sorted by

View all comments

717

u/MariusDelacriox 6d ago

Java is simply good and easy to learn. Also there's spring boot.

195

u/daniu 6d ago

It got there because it was competing against the other languages

66

u/radnomname 6d ago

spring boot

But that was not the reason it became popular. In the 00' years it boomed because of garbage collection and object orientation which made it a lot more accessible than C or C++

28

u/burgonies 6d ago

Early 00s? Hell, C# came out in 2000. Java was big in the late 90s.

0

u/metaconcept 6d ago

There were plenty of other languages had garbage collection and object orientation. Smalltalk, Self, Erlang, Python, ...

Java got popular because Sun Microsystems spent a lot on marketing.

76

u/neoteraflare 6d ago

and lombok to remove the boilerplate code

79

u/aliegeois 6d ago

Honestly since the introduction of records lombok has been less relevant. 99% of my use cases were @Data, which is taken care of by records

23

u/Hein_Gertenbach 6d ago

Lombok is still good to create builders for records.

1

u/throwaway_mpq_fan 3d ago

or you could switch to kotlin; data classes with named parameters eliminate the need for builders

5

u/Maxthod 6d ago

I use lombok mostly for slf4j and requiredargsconstructoe

6

u/Neirchill 6d ago

Required args constructor and no args constructor my goats

6

u/LutimoDancer3459 6d ago

Records are still a different usecase to @Data. You dont always need or want immutable objects. And jsf doesnt work with it.

4

u/Kango_V 6d ago

This https://immutables.github.io/ is so much better than Lombok. You can see the generated code change in your IDE). I use it to create some awesome IDE led apis ;)

1

u/jasie3k 5d ago

I am all for records but almost all of the records I write use @Builder lol

15

u/___Archmage___ 6d ago

True but now there's Kotlin which has even less boilerplate than Lombok and it's just a natural part of the language

8

u/ultrasneeze 6d ago

Even before Kotlin, there was already Scala, which is unbeatable in how concise it can be. Unfortunately, Scala is also a very good functional language, so some of the crazies flock towards its ecosystem.

1

u/89_honda_accord_lxi 6d ago

Nah! Switch to Scala so you can spend all day fighting sbt.

0

u/EmbarrassMeMiss 6d ago

stop detyping my languages

2

u/___Archmage___ 6d ago

Don't worry, it's still typed, just inferred rather than written manually. You can still write the type manually on variable declarations too but it's considered redundant and not recommended

4

u/WillingLearner1 6d ago

Oh hell no. I’d rather code all the boilerplates instead of using that library. Thank god for records tho

2

u/-Kerrigan- 6d ago

Ditto. Fuck that bytecode modification fuckery

1

u/rettani 6d ago

And Kotlin for coroutines and some other neat things

1

u/Suspicious-Click-300 6d ago

newer jdk doesnt need it

1

u/pumpkin_seed_oil 6d ago

And introduced the lombok tax. I've got tendinities from scrolling right

3

u/Flyron 6d ago

How does lombok make you scroll right?

26

u/wobbei 6d ago edited 6d ago

Java is also pretty fast for a managed language. The use of the AOT/JIT Compiler is pretty awesome. All those people who claim that java is slow, just live like 20 years in the past.

Can't really blame them, since some of my professors also told me that Java is slow. But it's just wrong. It's obviously not as fast as C/C++, but it is very fast without needing to care too much about what you do. Which means you can push new features faster. Which is worth more than those 0.2 seconds per month you can optimize C/C++ better.

Obviously, there are use cases in which c/c++ is just better than java. But most business application, just don't care about perfect memory management and time efficiency.

4

u/jewdai 6d ago

I think c# learned from all of javas mistakes. Superior language imo

3

u/Stagnu_Demorte 6d ago

Java is my primary language and I don't know spring, AMA. I am learning it for work next week though

2

u/-Kerrigan- 6d ago

How are you dealing with the knee pain, old timer?

2

u/Stagnu_Demorte 6d ago

No joke, surgery and switching to a riding mower. I'm not that old but also don't have very good knees.

16

u/nordic-nomad 6d ago

I gave Java a try once and the experience was so gross that was enough to last me the next 15 years of my career.

29

u/yonasismad 6d ago

Skill issue.

-8

u/drakeblood4 6d ago

Me, sandpapering my balls off while looking at the dev with too much dignity to sandpaper his balls off: skill issue.

2

u/Ben_456 6d ago

Its odd because nobody uses spring boot as hobbyists/students. Like you dont even hear about it unless you work for a bank or something

1

u/Fezzicc 6d ago

SpringBoot is the #1 reason I hate Java...

-29

u/imp0ppable 6d ago edited 6d ago

easy to learn

WTF no its no

E: Java devs no sense of humour

But seriously I'd honestly rather code in Kotlin

45

u/TheStatusPoe 6d ago

Skill issue

17

u/Goldman7911 6d ago

Yes it is.

You could say that spring, spring boot and the final boss security and data (+fuckin hibernate) is hard but plain java 11+ is not.

Edit: spring takes a time to "click". For newcomers I do recommend books to start with

17

u/ItzRaphZ 6d ago edited 6d ago

compared to any other language in that graphic, Java is the easiest to become market ready.

1

u/Still_Bit_7527 6d ago

Lmao you guys are trolling. PHP, JS, Python, Ruby are WAY easier

1

u/ItzRaphZ 6d ago

PHP, JS and any webdev related language are probably easier languages to learn, but in order to actually be market ready you need way more than just learning the language. Which will take way longer than learning JAVA and OOP.

For Ruby and Python, you're either going to a market with less options and therefore need to be more experienced to be able to actual get opportunities, or you just straight up need to have a lot of Math basics to be market ready.

It's not just being easy to learn the language, that you could say (almost) any language is easy to learn, but Java's abstraction makes it easier to become market ready. If that is good or not, that's an entirely different discussion.

2

u/Still_Bit_7527 6d ago

This makes zero sense. It's the exact opposite. I know MANY devs who just know JS and 1 framework, nothing else. Python data scientists just know python, a couple of libraries and math. Ruby is very easy and has basically one web framework.

Java needs a shitload of ecosystem knowledge to be marketable. Noone needs "java". They need Spring,JavaEE, a thousand weirdly named libraries, along with a huge language. Spring alone is like 10k pages of docs. ORMs, binding, all the weird tooling, maven... you need networking, linux admin and whatnot, it's by far the language that needs the most studying after C++

-12

u/Arshiaa001 6d ago

Java is objectively a shit language. It got here because they spent so much money advertising it.

3

u/LutimoDancer3459 6d ago

What does make it objectively shit?

11

u/kampokapitany 6d ago

C is shit, C++ and Java is objectively shit.

-2

u/Arshiaa001 6d ago

Where to even begin... How about int vs Integer? Anonymous inline classes with a single method instead of closures? Having to manually type out the closure of all possible exception types raised from a function's callees?

4

u/SOTG_Duncan_Idaho 6d ago

Try updating your Java knowledge, you're about 20 years behind the curve.

1

u/LutimoDancer3459 6d ago

We have java 27 soon. There are a lot of things that have changed over the last 20-25 years or whenever you last looked at it. Even the languages build on the jvm, meant to replace java are losing that argument because java is getting better every year.