Compiled vs. Interpreted language

There are two ways to go about our code.

In C/C++, we typically compile the source code into the local OS / hardware-specific language (i.e. native code)

  • The run-time environment (RTE) may be wholly or partly embedded in the compiled code (static versus dynamic linking)

Java compiles source code into a universal Virtual Machine language.

  • The VM is then the run-time system, and must be implemented to run on various OS / hardware platforms

Some languages, like Python, are interpreted

  • The run-time environment (RTE) translates and then executes the source code on the fly
  • No intermediate binary file is created