15 ms·
This really depends. Once-upon-a-time, at least in the UNIX (tm) world, there were a plethora of ISAs, and this was the environment where ideas like Java really
by spijdar 6y ago
This really depends. Once-upon-a-time, at least in the UNIX (tm) world, there were a plethora of ISAs, and this was the environment where ideas like Java really made sense. Write once, run anywhere.
Most OSes are still pretty well situated to handle this. Java remains, and is easily cross platform. I can run Java-based proprietary games like Minecraft on my POWER9 desktop, despite no-one involved probably ever considering ppc64le a valid target.
The CLR on Windows is also pretty easily cross-platform, although it won't help legacy x86 PE executables. Apple has solved this for ages on the tooling side, encouraging production of "fat" binaries with many arches since OS X was NeXT, and your .app packages needed to run on x86 + m68k + SPARC + PA-RISC.
Emulators like Rosetta (and qemu's usermode emulation) can fill the gap of legacy executables, while these other technologies can make the end-user experience good. Of course, that's only if a) someone writes your platform's equivalent of Rosetta, and b) developers write crossplatform apps.
So, the answer depends on how cynical or optimistic you are :-)