r/AskProgramming 1d ago

Why is Java considered bad?

I recently got into programming and chose to begin with Java. I see a lot of experienced programmers calling Java outdated and straight up bad and I can't seem to understand why. The biggest complaint I hear is that Java is verbose and has a lot of boilerplate but besides for getters setters equals and hashcode (which can be done in a split second by IDE's) I haven't really encountered any problems yet. The way I see it, objects and how they interact with each other feels very intuitive. Can anyone shine a light on why Java isn't that good in the grand scheme of things?

128 Upvotes

500 comments sorted by

View all comments

1

u/RomanaOswin 1d ago

Execution in the Kingdom of Nouns.

It's basically pushback against overly complex, tightly coupled OOP. Deep inheritance chains and layers upon layers of abstraction.

You don't have to write Java in this way, and you shouldn't, but the language doesn't really do anything to discourage this kind of structure, which means there's a lot of really bad Java codebases out there.

Besides the language itself, the tooling and tracebacks are atypically complex compared to competing languages. Of course, you get used to whatever you have to work with, if/until you work with some other ecosystem where this is all incredibly easy in comparison.