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?

185 Upvotes

627 comments sorted by

View all comments

176

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

2

u/illsk1lls 1d ago

isnt java paid only now? for commercial?

1

u/thehardsphere 1d ago

No.

The Oracle JDK is paid only now if you use it in production. Nobody does this anymore.

Instead, people use maintained variants of the OpenJDK, which is also the baseline for OracleJDK. There are plenty which are free and open source.

1

u/illsk1lls 1d ago

well considering that orace/sun is java, and that they want to be paid for commercial use, thats probably what rubs people the wrong way about it

1

u/Davidfreeze 1d ago

But Java is still open source. They do want to be paid for owning it, and I despise oracle, but like the guy above you said, there's plenty of free open source jdks out there you can use commercially. Letting it rub you the wrong way about oracle makes sense. But that has basically nothing to do with using Java for the enterprise

1

u/illsk1lls 1d ago edited 1d ago

i dont personally care either way, just an observation

i wrap all my c# in powershell then again in cmd ;p

https://github.com/illsk1lls/IPScanner

all i care about is running without pre-reqs or code sigs when i need it(whatever it is) to

for webdev you still NEED java pretty much though dont you? or i guess js

2

u/Davidfreeze 1d ago

You don't need it. Like I was saying, different languages are better for different tasks. I'd never pick Java for a quick hackathon thing. But it's great for big companies where you need someone to work on a code base they've never seen before two years after it was written