Everyone hates Java, even I did (once).
The memes, the videos, I mean literally everywhere there is spread one thing - java's popularity is declining...
I wondered why people hated it so much, to a point where people are even ready to buy merch out of it :P
So I decided on trying out java myself... <3
Java has been popular for decades. There's no such proper reason to hate Java, rather there are some things that prick many developers.
Java is VERBOSE.
Verbosity is a good as well as a not-so-good feature. Like it makes debugging much easier and reliable but at the same time, you gotta write a lot of code. Many beginner developers complain about this thing a lot - why do we just write 1 line in python and 7 lines in java
just to print Hello, World!on screen? But they don't understand what both languages are meant to perform!
Java is a pure Object Oriented Programming language and it was designed specifically from the very start. Even if you want to execute small programs, you have to compulsorily wrap it into classes-object form, which doesn't make sense to many beginners or devs of other languages.
Memory Hog Language
By its very design, Java is a memory hog. You simply cannot make a memory-efficient program that handles enormous data while still preserving good object-oriented abstraction in your program. This extra memory consumption doesn't matter if you are making a small-scale application. But imagine making a video editing application that has to handle gigabytes of data in real-time! That's just insane...
When I first encountered java, I found that language so cringes to learn. I too had that mentality of why to write long code! Instead, just use python to make life simpler. But I was wrong, I didn't even know the differences between those languages and I was simply comparing them.
Languages are simply tools that help you craft your desired application. So it doesn't matter which language you're using until you build super-efficient apps that drive you more users at end of the day :D
I learned Java and saw enormous applications of it! Like we can literally build highly scalable and enterprise-level apps using java. The Netflix you watch uses java to serve content to you ASAP.
I'm sure you won't regret learning it once you build some cool projects with it. All you can build is an android app or a desktop app for your windows pc. Are you a web geek? try out spring boot and make scalable backend apps with it!
Just have an end goal in your mind and start your development journey! You will soon stop comparing languages and use them wisely :D
I hope you have got some value from this article and if so, don't forget to share it with all your friends and colleagues. Because sharing is caring :P