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