• 3
    It's been a while, but I think if you look at generics hard enough you'll find plenty.
  • 3
  • 2
    You ever seen reflection?
  • 2
    Is this a bait question?
  • 2
    What about forcing us to use getters and setters still rather than learn from C# and introduce properties?

    Yknow, what Kotlin did to address that as well...
  • 1
    No built in biginteger/decimal operator overloading, Lombok has to be used to avoid heaps of boilerplate, no reified generics, heaps of stuff left like clone() from the olden days that's broken or useless, large JVM startup time, project jigsaw was a massive failure that noone wanted creating a massive barrier for legacy projects updating from 8, == for strings and boxed primitives especially is useless and unpredictable creating potential for nasty bugs, functional support is very limited without currying, etc., streams are devoid of useful methods like doOnNext which makes logging and debugging way harder than it should be, null safety isn't really a thing, extension methods aren't a thing, backwards compatibility is sporadic, the release cycle is ridiculous, no sane native library integration, no support for for collections or arrays greater than 32 bit in size...

    I could go on. IMHO it's better than most these days and I'll use it quite happily, but it's a long way from perfect.
  • 0
    Great stuff, guys! Makes me widen my perspective. This wasn’t a bait rant. But I knew there probably were a plethora of problems that I didn’t see. I’m just top inexperienced. I work only in Java and has mostly only coded in C++ otherwise.
Add Comment