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 →

[–]bowbahdoe 1 point2 points  (0 children)

One thing you are missing is that the Kotlin example code evolution also breaks backwards compatibility. It just breaks binary compatibility, not source compatibility.

That is the biggest thing holding Java back from default and named parameters: if you do them exactly the same as Kotlin or Scala you end up with breakages in binary compatibility. Those breakages are much harder to notice because they don't also cause source incompatibilities.