Comparison of Application Virtual Machines

From Wikipedia, the free encyclopedia

This comparison of Application Virtual Machines lists some of the common software virtual machines that implement the concept of application virtualization, typically for the purpose of allowing application binaries to be portably run on many different computer architectures and operating systems. The application is usually run on the computer using an interpreter or just-in-time compilation.

[edit] Application Virtual Machines

Virtual machine Languages Comments
Common Language Runtime C#, Visual Basic .NET, J#, Managed C++, Python, Ruby and other .NET languages. reference implementation by Microsoft
Forth virtual machine Forth
Glulx Glulx, Z-code
Inferno Limbo
Java virtual machine Java, Groovy, Jython, JRuby, Scala and several others reference implementation by Sun
Low Level Virtual Machine (LLVM) C, C++, Objective-C, Ada, and Fortran
Lua
Adobe Flash Player ActionScript, SWF (file format) interactive web authoring tool
MMIX MMIXAL
Mono .NET languages
Neko virtual machine currently Neko and haXe
O-code machine BCPL
p-code machine Pascal UCSD Pascal, widespread in late 70s including Apple II
Parrot Perl 6, and others experimentally
Perl virtual machine Perl
Portable.NET C#, Visual Basic .NET, J#, Managed C++
Python virtual machine Python
ScummVM Scumm computer game engine
SECD machine ISWIM, Lispkit Lisp
Shotgun Ruby virtual machine of the Rubinius project
Smalltalk virtual machine Smalltalk
Sqlite virtual machine Sqlite opcodes virtual database engine
Squeak virtual machine Squeak
TrueType virtual machine TrueType font rendering engine
Valgrind x86/x86 64 binaries checking of memory accesses and leaks under Linux
VX32 virtual machine application-level virtualization for native code
Waba Virtual machine for small devices, similar to Java
Warren Abstract Machine Prolog
Yet Another Ruby VM (YARV) Ruby virtual machine of the reference implementation for Ruby 1.9 and newer versions
Z-machine Z-Code
Zend Engine PHP

[edit] See also