« Wheel of Change | Main | Universe 1, Zed 0 »

The Devil's home

In Po Bronson’s The First $20 Million Is Always the Hardest, he fictionalizes the creation of Java. One thing that annoyed the hell out of me throughout was how he credited the fictitious inventor as being such a genius as to have thought of running programs on virtual machines existing on all platforms so as to quickly and easily achieve seamless portability.

Virtual machines are one of the oldest concepts in theoretical computer science, as any computer science sophomore should be able to tell you. And computer science may be young, but it’s older than, say, Bronson.

The problem is that all this stuff is easy to say… but actually getting the virtual machines to do the identical things on all platforms is a hard problem technically, not to mention the social and business forces that interfere. You’ll notice that for all the hype of its early years, Java remains marginal as a basis for cross-platform web-distributed applications.

Why, yes, I am working on a Java applet at work now. How could you tell?

Comments

Hell yeah. Virtual machines are old hat. I had my old Commodore 64 running virtual. One keypress and you'd be in another program, another basic interpreter.

In those days there were no OS upgrades, you designed it all yourself and disks weren't fast enough to use dumped virtual memory. In those days, we hackers were gods.

Java sucks anyway. P-Code is P-Code no matter what flavour its labelled with or company/language its bastardised by/from. Although nowadays I hear you can create the same p-code from any style of language.

'True Basic' (by our friends Kemeny/Kurtz et al) had P-Code sewn up in the mid 1980's, where you could compile a program on any one computer and have it run unmodified on a Mac, Amiga, PC and some other non-descript machines.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)