Compiler vs Interpreter vs Runtime

A compiler translates source code to machine code ahead of time. An interpreter executes source code directly at runtime. A runtime is the environment that manages execution, memory, and I/O for a running program.

Compilers

A compiler takes source code and produces an executable (machine code, bytecode, or another language). Examples: GCC (C/C++), rustc (Rust), javac (Java). The compiler itself is written in some implementation language — this is what the Language Lineage "compiler_written_in" relationships track.

Interpreters

An interpreter reads and executes source code without a separate compilation step. CPython (the standard Python interpreter) is an interpreter written in C. The "runtime_written_in" relationship tracks what language the interpreter is written in.

Runtimes

A runtime provides services during program execution: garbage collection, thread management, standard library, FFI. JavaScript has V8 (written in C++). Java has the JVM. Go has its own runtime written in Go itself.

Explore Relationships in Graph →