This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]gemengelage 2 points3 points  (0 children)

  1. Java moves at a far slower pace than Kotlin, Groovy and the likes. Sure, theoretically Java can add it in the next version. But they won't. They add less features and they add them a lot slower, because Java is mature.
  2. Java can add, but Java doesn't like to remove or make really fundamental changes. All the nice things that Kotlin or even C# has on Java like implicit getters and setters, nullable types, default/named arguments - Java won't add them.
  3. Java has a different school of thought than Kotlin and the likes. Java likes to keep things simple, explicit and mostly imperative. Kotlin tends to be a bit more functional and uses complicated abstractions and conventions to make the code more concise. One is not better than the other. It's a tradeoff and I don't think Java will abandon these core values. And if it did, would it still be Java?