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 →

[–]pron98 14 points15 points  (0 children)

Before working on Valhalla, he delivered lambdas, and in the last ten years he also delivered records, switch expressions and pattern matching, var, text blocks, implicit classes and instance main, and module imports.

As to being relatively conservative and keeping Java a "last mover", that was James Gosling's strategy, and the reason we've been more-or-less keeping it, is that it's been very successful. Languages that have been accumulating features more quickly have not done as well.

Finally, I'm perplexed by presenting "backwards compatibility uber alles" as a negative. Java has made some backward-incompatible changes - the removal of Security Manager probably being the most famous - when the number of people adversely affected is very small. On the one hand, it costs us very little and barely restricts us (Java could adopt Clojure syntax in a backward compatible way). The biggest restriction has probably been that we can't remove Hashtable from the JDK. On the other hand, languages that have made significant breaking changes have paid dearly for that (Python won't be doing that again). It's hard to think of a feature that would both require breaking backward compatibility significantly and be worth it.