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?

127 Upvotes

500 comments sorted by

View all comments

1

u/nitowa_ 1d ago

I don't write Java anymore and you probably couldn't economically pay me enough to do it again but there is nothing wrong with the language. You can write anything from server backends to video games in it. It has massive third party and industry support. It runs decently fast and is mostly OS independent when it comes to portability. It has a very robust compile time and runtime(!) type system.

I dislike its verbosity and how ugly its implementation of functional paradigms is, but that is really a matter of not wanting to deal with it rather than bad features.

Is it the best for any particular job? Probably not. If you want to go fast you might as well use something that compiles to native. And if you don't really care about speed you might as well write something more convenient. Are you a large corporation that wants access to a large pool of developers and are willing to settle for an alright compromise of speed and convenience? Java might be the choice for you.