Loading subject…
Bytecode
An intermediate instruction set produced by compiling source code ahead of time, aimed at a virtual machine rather than at any real processor. One bytecode file runs on every platform that has the virtual machine installed, and the virtual machine interprets it at run time.
Compiler
A program that translates an entire source file into machine code before execution begins, writing the result to a separate executable file. Because it sees the whole program at once, it can report every syntax and type error before anything runs and optimize across the program.
Interpreter
A program that translates and executes source code one statement at a time while the program runs, producing no executable file. It must be installed on every machine that runs the program, and it re-translates a statement each time execution reaches it.
Just-in-time (JIT) compilation
Compiling frequently executed sections of a running program into native machine code, so that later calls use the compiled version instead of being interpreted again. The program starts in interpreted mode and reaches full speed only after these hot paths have been compiled.
Machine code
The binary instructions a particular processor family can execute directly, drawn from that processor's own instruction set. A CPU executes nothing else, so every high-level program has to be translated into it first.