Obvykle píšeme počítačový program pomocí jazyka vysoké úrovně. Vysokoúrovňový jazyk je takový, který je srozumitelný nám, lidem. Říká se mu zdrojový kód.
Počítač však jazyku vysoké úrovně nerozumí. Rozumí pouze programu zapsanému nulami a jedničkami v binární soustavě, kterému se říká strojový kód.
K převodu zdrojového kódu do strojového kódu používáme buď překladač, nebo interpret.
K převodu programu napsaného v jazyce vysoké úrovně do strojového kódu srozumitelného počítači se používají jak překladače, tak interprety. Mezi fungováním interpretu a kompilátoru však existují rozdíly.
Interpreter Vs Compiler
Interpreter | Kompilátor |
---|---|
Převádí program po jednom příkazu. | Prohlíží celý program a překládá jej jako celek do strojového kódu. |
Interprety obvykle potřebují k analýze zdrojového kódu méně času. Celková doba provádění je však relativně pomalejší než u překladačů. | Překladače obvykle potřebují k analýze zdrojového kódu velké množství času. Celková doba provádění je však relativně rychlejší než u interpretů. |
Negeneruje se žádný meziobjektový kód, proto jsou paměťově úsporné. | Generuje se meziobjektový kód, který dále vyžaduje linkování, proto vyžaduje více paměti. |
Programovací jazyky jako JavaScript, Python, Ruby používají interprety. | Programovací jazyky jako C, C++, Java používají překladače. |
Programovací jazyky jako C, C++, Java používají překladače.