4 ms·
It's too verbose, it relies on DI to be testable, it has a weird type system (Integer vs int), the generic support is superficial, it lacks lambdas, releases ar
by latch 15y ago
It's too verbose, it relies on DI to be testable, it has a weird type system (Integer vs int), the generic support is superficial, it lacks lambdas, releases are slow, it lacks a good web framework (yes, I've used play), some of it's behavior (checked exceptions, package-directory matching) are failed experiments.
Essentially, it hasn't evolved the way it probably should have. I am no fan of Microsoft, but, if you're going to have a general-purpose class-based static language using C-like syntax, C# is now as far ahead of Java as mutants are ahead of humans.
Also, there's a stigma attached to Java: code is over-architected, slow and eats memory like crazy. My experience certainly leads me to believe that this is true, though it seems to say a lot more about Java developers than Java itself.