The (usually abstract) machine that implements a programming language." In other contexts "Virtual Machine" usually means something very different, a "system virtual machine": a piece of software that lets you run separate operating system kernel instances. In this context, it may simply refer to the combination of a compiler, linker, and hardware or it may refer to an emulator for a possibly non-existent piece of hardware or it may refer to an interpreter or combinations thereof. When non-theoretical refers to a "process virtual machine" designed to execute programs in a platform-independent environment.