3 ms·
First we create a portable bytecode in order to run executable code in a hardware-independent way. Then we create hardware to run that bytecode. (No criticism
by AshamedCaptain 5y ago
First we create a portable bytecode in order to run executable code in a hardware-independent way.
Then we create hardware to run that bytecode.
(No criticism intended to the author, I guess the goal is just to have fun).
- yjftsjthsd-h 5y agoIt's happened before; https://en.m.wikipedia.org/wiki/Java_processor https://en.m.wikipedia.org/wiki/Java_processor has a whole list of JVM hardware. I suppose lisp machines might also count.
- klysm 5y agoI’ve thought about this kind of co-evolution before and it seems to me it always leads to very sub optimal results. The problem is making a better solution is not economically feasible because all the software already exists.
- uluyol 5y agoSame thing happens with IO interfaces. https://lwn.net/Articles/805235/ https://lwn.net/Articles/805235/
- Banana699 5y agoI mean, bytecode that runs on hardware is still hardware-independent, it's the hardware that have to conform to the bytecode's interface not the other way around. If every processor in existence had to accept x86 instruction streams as valid programs, x86 would be a hardware-independent VM. The issue would be if there are multiple bytecode formats for different hardware.