Jon Udell describes how virtual machines have become the dominant software platform and some of its implications:
At that point something clicked in my head, and I proposed a software taxonomy based entirely on virtual machines -- the VB runtime, the CLR, the JVM, the Perl and Python VMs. Some of these are bound more tightly to operating systems than others, some are bound more tightly to programming languages than others, but they all share a set of common characteristics. The definition of a modern "software platform," I would say, is a VM and its associated class libraries. And a bunch of implications flow from that.From Jon's Radio
Referenced Thu Jul 01 2004 07:33:39 GMT-0600
He goes on to describe how VM-based software platforms have enabled whole new ways of doing software testing.
I was noticing this from another angle the other day. I was having a discussion with some engineers about what languages to use in various portions of a project. There was a core piece that really needs to be optimized for performance to the greatest extent possible and other parts where cross-platform and user interface issues dominate. I began to realize that almost no recent development in programming languages helps with the former. We're probably still going to write it in C++, with all its warts, so that we can compile it. Will people still be using C and C++ to write operating systems and other core software 20 years from now? Doesn't seem right, but it is likely.