Překladač a tlumočník
Kompilátor vs. tlumočník
Při psaní programů v jazyce vysoké úrovně počítač nebude schopen porozumět. Aby byla použitelná, musíte ji převést na něco, co počítač rozumí. Zde přicházejí překladatelé a tlumočníci, protože oba dělají stejnou funkci. Hlavní rozdíl mezi kompilátorem a tlumočníkem je při spuštění kódu. S tlumočníkem je kód okamžitě proveden s tlumočením předáním interpretovaného kódu do počítače. V porovnání se kompilátor nespustí kód. Místo toho zapíše hotový kód na disk. Kód zapsaný na disk pak může být kdykoli proveden.
Hlavní rozdíl mezi tlumočníkem a překladačem rozděluje další. Vzhledem k tomu, že je tlumočník potřebný při spuštění programu, musíte mít nainstalovaný tlumočníka, pokud chcete spustit program ve vašem počítači. To není případ kompilátoru. Jakmile je program kompilován, potřebujete pouze kompilovaný program a ne kompilátor nebo původní kód.
Výhodou použití tlumočníka spíše než kompilátoru je schopnost provést program na počítačích s různými operačními systémy; vzhledem k tomu, že máte příslušného tlumočníka. Při kompilaci programu by byl pouze pro určitý operační systém a nebude fungovat na jiných. Chcete-li ji spustit na jiném operačním systému, musíte optimalizovat kód pro daný operační systém a zkompilovat jej znovu.
Nevýhodou použití tlumočníka je přidaná režie. Tlumočník by potřeboval určitý výkon a každý řádek kódu by byl interpretován během běhu. Není tomu tak v případě, že máte kompilovaný program, protože operační systém ho může přímo přečíst a spustit každý příkaz. Dalším krokem interpretačního kódu je, že interpretovaný program běží výrazně pomaleji než kompilovaný kód. Tlumočník by také nebyl schopen využít optimalizaci specifické pro systém OS, která by umožnila efektivnější zpracování kompilovaného programu.
Výběr mezi překladačem a tlumočníkem by měl záviset na tom, zda chcete přenositelnost nebo výkonnost.
Souhrn:
- Tlumočník přímo spustí kód, zatímco kompilátor ne
- Tlumočník musí být k dispozici v cílovém počítači, zatímco kompilátor není
- Interpretovaný program běží na více platformách, zatímco kompilovaný program nebude
- Interpretovaný program běží pomaleji než kompilovaný program