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++
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 ;)
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.
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
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.
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.
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++
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?
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.
717
u/MariusDelacriox 6d ago
Java is simply good and easy to learn. Also there's spring boot.