3 ms·
I remember some greybeards hyping the CPUs that could run Java bytecode (it existed for a short time). I was a junior C++ fanboy at the time and I already knew
by Disposal8433 1y ago
I remember some greybeards hyping the CPUs that could run Java bytecode (it existed for a short time). I was a junior C++ fanboy at the time and I already knew that they were wrong.
- brabel 1y agoWere you right because you knew something they didn't, or you were just as irrational (maybe more given you were "a junior"?) but got lucky in being stuck with an opinion that eventually turned out right?
- holowoodman 1y agoEveryone with lower-level systems programming or hardware experience did know after taking a look that Java bytecode was unfit for direct execution by a CPU. All the bits that you need to make decoding and execution fast in hardware were just missing. And the instruction set is complex in a way that makes the most complex CISC instructions look almost like RISC. You basically would have to put another decoder stage into processors, to make java bytecode into CISC and that into RISC. Only applications and web people did believe that particular part of the hype, because they didn't know what it took. And IBM consultants believed it because IBM always managed to sell some weird CPU extension for big dollars that did weird stuff, like their "decode XML extension".
- wpollock 1y agoUnfix for an x86 CPU. But that architecture wasn't as locked-in back then. For example, the Intel 432 CPU was designed to support OO languages. I believe it was designed with Ada in mind, and with GC support and other VM support. Java Bytecode would probably have run well on it.
- holowoodman 1y agoIt wasn't locked in, but the general trend even back then was towards RISC, or at least CISC plus superscalar execution (meaning the processor translates to RISC internally). All the more complex instruction sets were a failure for a reason. Performance was just not there, and bytecode interpretation in software is more flexible.