Skip to content

Development Environment Tools / Runtime Environment

Some programming languages rely on a runtime environment to run the software rather than using compiled executable programs that are run directly by the operating system. Runtime environment types include:

  • interpreter
  • virtual machine for compiled software

The following sections describe each.

Interpreter

Interpreters are used to run software code that is written in text form and not compiled, sometimes referred to as scripts. The interpreter must parse the code, interpret the syntax, check for errors, and then run the script logic. Examples of interpreted languages include:

  • JavaScript, run in a web browser or Node.js interpreter
  • Perl, run in Perl interpreter
  • Python, run in the Python interpreter

Virtual Machine for Compiled software

The term "virtual machine" is often used for operating systems, such as using VirtualBox to run Linux on a Windows computer. The term is also used for some compiled programs that run within a specific virtual machine. Examples are:

The virtual machine provides a standardized environment that sits on top of the operating system but otherwise provides a complete environment for running software. This is particularly effective when the virtual machine can run on different platforms. The software that is being run is compiled ahead of time into binary form. For Java, source files are compiled into "bytecode" distributed as individual class files or multiple class files in a Java archive (jar) file.

The Java virtual machine is used by other languages that are compiled to the same binary form. See List of JVM languages. Similarly, the .NET framework is the common runtime environment for several Microsoft languages (C#, Visual Basic, etc.), that compile to .NET assembly files.