Java language advances slowly, but preserves backw...
# random
m
Java language advances slowly, but preserves backwards compatibility strongly. Java 6 code is not going to break on today's javac, JVM 6 bytecode is not going to break in today's HotSpot JVM. They must be quite conservative. As an example, Andrey Breslav mentioned in a quite old presentation, that if Java language version 5 had no raw types (e. g.
new HashMap()
would work as
new HashMap<>()
), old genericless code would break. It's inappropriate. Also, Oracle maintains their own runtime, and it's being optimized very heavily ({@see Aleksey Shipilёv, e. g. https://shipilev.net/blog/2015/black-magic-method-dispatch/}). So, I don't think that Oracle is lazy or stupid 🙂