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?