And as for backward compatibility, they already did. I love the myth that java never broke backwards compatibility. Bytecode maybe (), they definitely broke syntax compatiblity.
: The various xml parsers and other library thrash really do break backwards bytecode compatiblity.
If by "syntax compatibility" he means code that compiles in one version does not compile is another, that's definitely true. Name collisions with the new default methods in Java 8 are one source. If your Comparator-implementing class has a method "void reverseOrder()", that will no longer compile.
Here's a couple of recent examples the Guava authors have fixed. Fortunately they were in internals and not their public API, so users won't care.
And as for backward compatibility, they already did. I love the myth that java never broke backwards compatibility. Bytecode maybe (), they definitely broke syntax compatiblity.
: The various xml parsers and other library thrash really do break backwards bytecode compatiblity.