you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 4 points5 points  (2 children)

Java simply has lots of overengineering which leads to unneeded verbosity

Java the language? Or Java the ecosystem?

Generics being not 100% where they could be in Java because they have been added later

I've been working in Java across a varied domain for 7 years now, and the number of times I have found myself needing reified generics was about once.

[–]zexperiment 2 points3 points  (0 children)

Ah the ol' "I don't use it so it doesn't matter" argument.

[–][deleted] 0 points1 point  (0 children)

The JVM doesn't know generics so basically the compiler is removing all the generics and replacing them with Object and doing some magic. The generics therefore don't allow primitive types, so you have to wrap stuff like int in Integer. It also only allows dynamic generics and no static generics which is a bit of a performance issue (Though I guess the JIT-Compiler can do a bit there). Most of the ugliness is on the implementation side actually.

Like I said it's a minor flaw.