Except there is only one implementation, with language design and implementation developed together.
C++, Java and .NET are now all living through "decade of misery like Python did", exactly because not everyone is jumping into the latest versions of the languages and ecosystem changes.
Isn't this a problem only if you manage your dependencies by source rather than "compiled"?
That is, in Java you may not be able to compile old code with new javac, but the class file format is still understood by the JVM. So your old .jar still works.
I believe it is the same in C++ with the .so. I don't know about .NET.
In Python however, I don't think the .pyc were compatible between Python2 and Python3.
The way the bytecode is executed, the standard library, possible changes in GC and JIT implementation, other 3rd party libraries.
For example, if the jar code has a call to Thread.stop() and is loaded in Java 11 or later, when it comes to actually call that method you will get a java.lang.NoSuchMethodError exception.
C++, Java and .NET are now all living through "decade of misery like Python did", exactly because not everyone is jumping into the latest versions of the languages and ecosystem changes.