News for hackers. Stuff that matters.
Re:Java SE 8 Proposed Final Draft Specification — Draft 1 by laureny on Tuesday December 24, 2013 @01:32AM (#6958525)
> I love the myth that java never broke backwards compatibility. Bytecode maybe (), they definitely broke syntax compatiblity.

Proof?

Re:Java SE 8 Proposed Final Draft Specification — Draft 1 by mhixson on Tuesday December 24, 2013 @02:14AM (#6958593)
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.

https://code.google.com/p/guava-libraries/source/detail?r=7d... https://code.google.com/p/guava-libraries/source/detail?r=25...

Re:Java SE 8 Proposed Final Draft Specification — Draft 1 by laureny on Tuesday December 24, 2013 @10:17AM (#6959650)
This happens for all languages and is not usually considered as "a language breaking backward compatibility", it's purely a library concern.

What is meant by "breaking backward compatibility" is when the grammar is altered in a way that makes existing sources no longer compile.

Re:Java SE 8 Proposed Final Draft Specification — Draft 1 by grogenaut on Friday December 27, 2013 @04:07PM (#6972615)
enum