> For the complete documentation index, see [llms.txt](https://blog.gomchik.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.gomchik.com/tech/program-execution.md).

# Program execution

## General concepts

* Code
* Translation
* Compiler
* Optimizing compiler
* Intermediate representation (IR)
* Execution
* Runtime system
* Executable
* Interpreter
* Virtual machine

## Types of code

* Source code
* Object code
* Bytecode
* Machine code
* Microcode

## Compilation strategies

* Just-in-time (JIT)
* Tracing just-in-time
* Ahead-of-time (AOT)
* Transcompilation
* Recompilation

## Notable [runtimes](https://github.com/gomchikbhoka/blogs/tree/c21b011e5bbbf41649b1466e37a9e9d2a22defab/Program%20execution/runtimes.html)

* Android Runtime (ART)
* Common Language Runtime (CLR)
* crt0
* Java virtual machine (JVM)
* [Node.js](https://github.com/gomchikbhoka/blogs/tree/c21b011e5bbbf41649b1466e37a9e9d2a22defab/Program%20execution/nodejs.html)
* Zend Engine

## Notable compilers & toolchains

* GNU Compiler Collection (GCC)
* LLVM
