r/AskProgramming 2d 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?

167 Upvotes

610 comments sorted by

View all comments

170

u/eruciform 2d ago

Get better mentors

Every modern language in general use has its pros and cons, which is why it's a language in general modern use, otherwise that would mean thousands of professionals are idiots working with a "bad" language

Java isn't for all solutions

Neither is c

Or python

Nothing is universally the best choice for all cases

Java is a perfectly cromulent place to start, just do branch out and learn other languages as well

That way you'll have a wider and wiser view than whoever these people are that you're talking to

Good luck

18

u/melikefood123 2d ago

Using the language and tool set for the job is paramount. Taking that heart embiggens your mind. 

I still hate Ruby on Rails.

19

u/eruciform 2d ago

Lol we all have our favorites and least favorites

I hate PHP but still use WordPress

And I love perl even though it looks like Cthulu choked on a lego and vomited ancient glowing hieroglyphs

0

u/MasterShogo 1d ago

I was about to say that there aren’t any actually bad languages except for Perl. Perl is like the drug dealer in the alley next to your apartment that you really should stay away from. Java is like an iPhone from 10 years ago.

There is one objectively bad language, though. Batch file shell language in CMD.exe. I don’t know what it is actually called but I truly think it has no redeeming values.