3 ms·
I meant breaking in that the Java 10 compiler would be targeting a newer version of the JVM and could dispense with having to be backwards compatible, which was
by jimktrains2 9y ago
I meant breaking in that the Java 10 compiler would be targeting a newer version of the JVM and could dispense with having to be backwards compatible, which was one of the reasons I remember reading for generics.
They could have simply left the old library, deprecated it, and added in their genericed one as a a new package. It had to be modified anyway.
- evincarofautumn 9y agoRight, it breaks forward compatibility: bytecode for a newer VM won’t work on an older VM. IMO backward compatibility is much more important for a programming language, though.
- moomin 9y agoYup, and Microsoft did exactly that, meaning C# has been able to express List<int> for ten years now.
- jdmichal 9y agoOr they could have done erasure in the runtime when they detected non-generic usage of a generic class. Instead of forcing it on everyone.