|
|
Monday, December 30, 2002 |
Mozart.There's more than one virtual machine in the universe. The JVM is a pretty good one, for some (maybe a lot) of things. The CLR is good too. Here's another one: Mozart. I don't know much about the quality of its implementation, but I sure like the science behind it. What these guys are saying is that programming can be broken down into a basic set of concepts like state, objects, functions, constraints, and so forth. There are some pretty advanced concepts in the system -- first order functions, the constraint systems, and some very cool distributed stuff. They built a VM that could do all that. Microsoft's CLR was designed to run many languages, but is apparently particularly good (or only good, depending on your perspective) at running languages that look like C#. The Mozart VM seems like an attempt to substantially expand the capabilities of the VM, to push more into that base layer.
This strikes me as the right approach. It turned out the RISC wasn't such a hot idea after all. I think we have the same situation in language design. The problem is that the VMs haven't been designed with any notion of theoretical completeness coupled with efficiency for a greater number of programming languages; languages that do more complicated things easily. |