Compiler je klíčový nástroj vývojáře, který slouží jako „překladatel“ mezi lidským zápisem logiky a fyzickým světem jedniček a nul. Na rozdíl od interpretu, který kód čte a vykonává řádek po řádku (jako Python), kompilátor zpracuje celý program najednou a vytvoří z něj samostatný spustitelný soubor (např. .exe v systému Windows).
Moderní kompilátory jsou extrémně složité systémy, které pracují v několika logických krocích:
Zde se kontroluje správnost kódu:
Kompilátor se snaží kód vylepšit, aby byl co nejrychlejší. Odstraňuje zbytečné části kódu, zkracuje matematické operace nebo optimalizuje cykly.
Výsledná logika se přeloží do instrukcí pro konkrétní procesor (např. x86 nebo ARM) a vytvoří se výsledný binární soubor.
| Vlastnost | Kompilované jazyky (C++, Rust) | Interpretované jazyky (Python, JS) |
|---|---|---|
| Rychlost | Velmi vysoká (nativní kód). | Nižší (nutnost překladu za běhu). |
| Odhalení chyb | Většina chyb se najde už při kompilaci. | Chyby se často projeví až při spuštění programu. |
| Přenostitelnost | Musí se kompilovat pro každý OS zvlášť. | Kód běží všude, kde je nainstalován interpret. |
| Vývoj | Pomalejší (čekání na dokončení kompilace). | Rychlejší (okamžité spuštění změn). |
Související pojmy: C++, Strojový kód, CPU, Assembler, Java, Python, LLVM.