>it has left the “move fast and break things

java never had that phase. If anything it had a full binary class (not even source, e.g. long and int are not compatible on binary level) compatibility. Generally you can take an application from '98 and run it nowadays.

It's only recent changes (jigsaw in java9 mostly) that were made them to drop some of that part.