Rozdíl mezi překladačem a tlumočníkem

Překladač vs. tlumočník

Při psaní programů v jazyce vysoké úrovně nebude počítač schopen tomu rozumět. Aby byl použitelný, musíte jej převést na něco, čemu počítač rozumí. Zde přicházejí kompilátoři a tlumočníci, protože oba vykonávají stejnou funkci. Hlavní rozdíl mezi překladačem a tlumočníkem je, když provedou kód. S tlumočníkem je kód proveden okamžitě s tlumočením předávajícím interpretovaný kód do počítače. Ve srovnání kompilátor kód nespustí. Místo toho zapíše hotový kód na disk. Kód zapsaný na disk lze poté kdykoli spustit.

Hlavní rozdíl mezi tlumočníkem a překladačem způsobuje další. Vzhledem k tomu, že při spuštění programu je tlumočník potřebný, musíte mít nainstalovaného tlumočníka, pokud chcete program spustit ve vašem počítači. To není případ kompilátoru. Jakmile je program zkompilován, stačí kompilovaný program a ne kompilátor nebo původní kód.

Výhodou použití překladače namísto kompilátoru je schopnost provádět program na počítačích s různými operačními systémy; vzhledem k tomu, že máte vhodného tlumočníka. Při kompilaci programu by to bylo pouze pro konkrétní operační systém a nespouštělo by se na ostatních. Aby byl spuštěn v jiném operačním systému, musíte optimalizovat kód pro tento operační systém a znovu jej zkompilovat.

Nevýhodou použití tlumočníka je přidaná režie. Tlumočník by potřeboval určitý výpočetní výkon a každý řádek kódu by byl interpretován během běhu. To neplatí, pokud máte kompilovaný program, protože jej operační systém může přečíst přímo a provést každý příkaz. Další krok interpretace kódu způsobí, že interpretovaný program běží výrazně pomaleji než kompilovaný kód. Tlumočník by také nebyl schopen využít optimalizací specifických pro OS, které mohou umožnit efektivnější běh 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ýkon.

Souhrn:

  1. Tlumočník přímo provede kód, zatímco kompilátor ne
  2. Tlumočník musí být k dispozici v cílovém počítači, zatímco kompilátor není
  3. Interpretovaný program bude spuštěn na více platformách, zatímco kompilovaný program nebude
  4. Interpretovaný program poběží pomaleji než kompilovaný program