Vědět víc - vzdělávací portál pro zvídavé


Kompilátor (překladač)

Slide

Kompilátor (česky překladač) vytváří ze zdrojového kódu ve vyšším jazyce spustitelný soubor, který již obsahuje přímo strojový kód pro konkrétní procesor. Tomuto procesu se říká překlad či kompilace. 

Výhodou tohoto řešení je, že uživatel (zákazník) již nepotřebuje další program pro běh naší aplikace. Prostě ji spustí. 

Jelikož spustitelný soubor obsahuje přímo instrukce procesoru, je jeho vykonávání rychlejší. 

V neposlední řadě je náš zdrojový kód “chráněn” před většinou nenechavých očí (je samozřejmě možné udělat tzv. zpětnou kompilaci, nicméně nikdy takto neobnovíme všechny informace obsažené ve zdrojovém kódu - řada věcí, které nejsou podstatné pro procesor, ale jsou určeny lidem k lepšímu pochopení, je při překladu vypuštěna. 

Nevýhodou kompilace je závislost na platformě. A to závislost dokonce dvojí - na použitém procesoru (každý má jiné instrukce) a také na použitém operačním systému (spustitelný soubor obsahuje informace, jak jej má operační systém zavést do paměti a spustit, a to se u jednotlivých operačních systémů liší). 

Samotný překladač je také náročnější na vývoj. U překladu se používají různé optimalizace a víceprůchodové zpracování, které vývoj překladače komplikují. 

I z hlediska vývojáře aplikací může překladač představovat problém. Ladění programů se stává obtížnější. Existují vývojová prostředí, která ladění umožňují na velmi kvalitní úrovni, ale v tomto případě se jedná o další rozšiřující software, který se samotným kompilátorem nemá mnoho společného.