Original question from Quora:
Why do programmers like using Java?
I’m going to say something controversial, then I’m going to answer your question…
Java is brilliant.
Okay, I’m a Ruby developer, so perhaps I need to qualify my statement a bit.
Java (the language and platform), is one of the most incredible pieces of technology ever created.
- It solves a ton of real world problems.
- It has good performance in most cases.
- Billions (trillions?) of lines of production code run on Java every day.
- It has world class IDE tooling.
- It has world class web framework performance.
- It has the best Virtual Machine in the world.
- It has the best language ecosystem built on top of the JVM.
- There are millions of jobs worldwide.
- Giant global companies like Google, Oracle, Facebook, Twitter, LinkedIn, etc. all rely on Java somehow.
- Android is built on Java.
- It runs everywhere.
- And probably 1,000 other reasons Java is amazing…
When you pile all of that up, Java looks like some of the coolest technology in the world, so why does it have such a bad rap?
Well, let me tell you a quick story…
One of my first jobs out of college was building web applications for grant projects. At the time, my background was in PHP/MySQL, and I could crank out web apps like nobody’s business.
To me, coming from PHP, building for the web is pretty straightforward. You have some business logic, and you kick out a web template.
However, my boss (who is an excellent developer), came from IBM in the early 2000’s so everything was J2EE whether it needed to be or not.
So, I got to learn the magic of the blessed 3-tier architecture and JSP and JSF and security roles and all kinds of things that felt like bloatware compared to PHP.
At the time in Java Enterprise land, the effort to build something and deploy it to production was far more difficult than it ever needed to be. It wasn’t until Rails came along that showed you could have nice structure and low friction to built things on the web.
Fast forward a decade and Java still has some negatives to it, but millions of developers love Java because it works so well for them and most importantly…
It gets them paid!
That is maybe the best reason to like any technology. It puts food on the table and a roof over your head. In life, there isn’t much more important than that to your survival.
And perhaps that is the place where Java and .NET get the least amount of credit. Both technologies have put millions of developers to work and enable large companies to hire millions more all around the world. That isn’t new or sexy, but the net benefit to the world is tremendous.
For me, I don’t do Java full time anymore. Still, I respect what it is and what it’s done for the world. It’s a remarkable achievement and a brilliant piece of technology.
Developers have very good reasons to love Java and to keep using it. It’s not perfect, but nothing is.
Also, millions of kids certainly appreciate Java… After all, Minecraft was built with Java, so think about about how much joy that’s created worldwide.
There’s a lot of good reasons to love Java, even if you don’t really like it.
P.S. I unpack more ideas in Creative Genius.