UNCOL - https://en.wikipedia.org/wiki/UNCOL
IBM i ILE - https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/...
IBM z/OS Language Environment - https://www.ibm.com/support/knowledgecenter/zosbasics/com.ib...
Xerox Mesa - http://www.softwarepreservation.org/projects/lang/mesa
Xerox Interlisp-D - http://www.softwarepreservation.org/projects/LISP/interlisp_...
UCSD P-Code - https://en.wikipedia.org/wiki/P-code_machine
Modula-2 M-Code - https://www.cfbsoftware.com/modula2/
CLR - https://www.ecma-international.org/publications/standards/Ec...
PNaCL naturally - https://developer.chrome.com/native-client/reference/pnacl-b...
And many many others that I didn't bother to refer to, just WebAssembly is cooler somehow.
The fact it's been done means it's impossible to do. Well-known fact.
In fact, Swift, Go, Java and .NET Native seem to be doing relatively well across their systems level projects, regardless on what naysayers think.
Swift as C and Objective-C replacement on Apple platforms.
Go as the implementation of gVisor used on ChromeOS Crostini security layer and Compute Cloud, Android GPGPU debugger, Fuchsia's TCP/IP stack.
Java, alongside C++ for writing Project Trebel and Android Things drivers. Letting aside all those real time Java projects that run it bare metal, using the likes of PTC, Aicas and Gemalto compilers.
.NET Native across Windows IoT Core and Azure Edge modules.
But lets keep hating GC systems based languages instead.
[1] https://words.steveklabnik.com/is-webassembly-the-return-of-...
JVM yes was initially designed for Java alone, but its research successor, GraalVM, does understand LLVM bitcode thanks to Sulong.
As for "superior" WebAssembly sandboxing, it doesn't protect against internal corruption, due to lack of bounds checking on memory access. Which allows for injected scripts to try to coerce a loaded module to change its behavior. No need to escape the sandbox, sometimes changing the outputs is all that an attack requires.
It remains to be seen how many WebAssembly CVEs will appear when it starts to be more widely targeted by black hats.
And if those WASI modules happen to be written in languages like C and C++, I expect a couple of them to show up.
The existing model does not prevent exploits taking advantage of internal memory corruption inside the sandbox.
Any language can be compiled into WASM, but java being garbage collected, it's far from being the case.
WASM is agnostic and flexible and allows a broad range of things.
Java was never designed with the web in mind, and money ruined it, because it tried to do everything, but did everything poorly. WASM can actually make fast webapps a reality, maybe even on android.
And even if it reinvents java, so what? At least it replaces it and fixes its many problems, they are many things that cannot be done in java. Its VM had no chance to be made standard in browsers...
So in short, if you reinvents something, but you make it an open standard, it's clearly an improvement.