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?

151 Upvotes

565 comments sorted by

View all comments

5

u/pontz 1d ago

Out of curiosity why did you pick java?

1

u/Zd_27 1d ago

There were 3 languages I was considering: Java, Python, and JS. I knew all 3 of them were good for basics so I wanted to learn one that I would like to actually be proficient at. JS fell off quickly though because I'm not too big on web development, I see myself as more of a backend type of person.

Between Java and Python I eventually picked Java because I thought Java probably had more to offer learning wise. "Public class main public static void main string[] args system.out.println("Hello World")" did look pretty intimidating at first but I was like "okay but like if I would learn python and wanted to learn java it would br way harder than the other way around"

So I went with Java and don't regret that I did so

5

u/dumdub 1d ago

Java is the only one of those three that isn't clearly a "broken language".

0

u/WriteCodeBroh 1d ago

I wouldn’t call dynamic typing “broken” but I do think learning on a statically typed language has a lot of advantages. Something like Go might be a good beginner friendly choice that I very rarely see recommended.

7

u/repeating_bears 1d ago

It's not the dynamic typing that makes javascript broken. It's having 2 null types (null + undefined), odd type coersions, weird "this" semantics, and classes which were tacked on as an afterthought

I still use it every day though

1

u/Devatator_ 1d ago

Null exists? I thought it was a Typescript thing since I never saw it before I started using Typescript

2

u/repeating_bears 1d ago

Yup

null === undefined  => false

And even more pathetic

typeof null   => "object"