Saturday, October 18, 2008

A generic VM that we can run VMs on

A call to arms for a generic VM was put up by Neil McCallister. Now part of this is the "aren't dynamic languages great" camp which really doesn't like operational costs to be factored in.

The other bit though is that this is just funny, the x86 CPU is effectively a generic VM, its what IBM called the microprocessor when they first created the because unlike dedicated previous approaches it could be many different machines just via programming. A "Virtual" Machine in fact.

Now we have the JVM and the CLR, they are both "generic" VMs and one has a much broader platform support and the other has more languages (still not seeing the research around language heterogenity being a good thing BTW). Sun is getting happy clappy with the scripting world and putting them on the JVM so we already sort of have that generic VM.

What a generic VM platform will lead to is people creating specific VMs running ontop of the generic VM for specific purposes. Not sure that this is a good thing but it will happen.

The JVM is just another machine, its a generic VM, all you have to do is write the language port. I knew this in January 1997 so it really isn't rocket science.

If you want your favourite scripting language to run on a "generic" VM then port it to the JVM or the CLR. What is all the fuss about?

Technorati Tags: ,

1 comment:

Csaba Kétszeri said...

[Joke] We need a high level of complexity to utilize todays damn fast hardware. We use abstraction layers, interpreted/intermediate languages, virtual machines, and this pile of code is still runs very well on a single desktop pc. So we have to find another bottleneck... heck, the network will be just fine. If not, then we still can use some more abstraction over the TCP/IP... first, we use a HTTP layer, then when it still too easy and damn fast, we use some xml. Hey, we may use xml in a strictly OO environment written Java runs on a virtual machine.

Shiiit, it is still returning in a <1 sec time.

May we virtualize the hardware too... uhm.