Software Research
A Virtual machine codename "JUKE"
The virtual machine being built is based on the ECMA-335 virtual machine specification available from the ECMA. Fortunately the design of the VM is extremely flexible and so it can be extended specifically for custom purposes, and the most immediate of these is the need for a DSP and media application specific virtual machine.
Why a new virtual machine?
There could never be enough virtual machines available right now, but the options are fairly limited, to basically .NET, LLVM and Java. Explaining the need for various new machines to the average computer user is difficult and requires an understanding of the intricate needs of different kinds of programs. For example, both Java and .NET do not allow the programmer to explicitly de-allocate a live memory object. For DSP programming purposes, this is disastrous because a superior media or DSP program must be able to cancel out as much garbage collection as possible while still being able to take advantage of JIT compilation benefits.
Importance of compatibility
The ECMA-335 specification as used by .NET and Mono has been identified as an excellent virtual machine design and so much of Juke is designed to be compatible with ECMA-335 programs. Juke can therefore be built to run .NET programs, and Juke programs will run in .NET if they are compiled to do so.