Rozdiel medzi prekladačom a tlmočníkom

Prekladač verzus tlmočník

Pri písaní programov v jazyku vysokej úrovne nebude počítač schopný tomu porozumieť. Aby to bolo použiteľné, musíte ho previesť na niečo, čomu počítač rozumie. To je miesto, kde prichádzajú kompilátori a tlmočníci, pretože obaja vykonávajú rovnakú funkciu. Hlavný rozdiel medzi kompilátorom a tlmočníkom je, keď vykonávajú kód. S tlmočníkom sa kód vykoná okamžite, keď tlmočenie odovzdá interpretovaný kód do počítača. V porovnaní s tým kompilátor nevykoná kód. Namiesto toho zapíše hotový kód na disk. Kód zapísaný na disk sa potom dá vykonať kedykoľvek.

Hlavný rozdiel medzi tlmočníkom a prekladačom vytvára ďalší. Keďže tlmočník je potrebný pri spustení programu, musíte mať nainštalovaný tlmočník, ak chcete spustiť program vo vašom počítači. Toto nie je prípad kompilátora. Po kompilácii programu stačí kompilovaný program a nie kompilátor alebo pôvodný kód.

Výhoda použitia tlmočníka namiesto kompilátora je schopnosť vykonávať program na počítačoch s rôznymi operačnými systémami; keďže máte vhodného tlmočníka. Keď kompilujete program, bude to len pre konkrétny operačný systém a nebude fungovať na iných. Aby bol spustený v inom operačnom systéme, musíte optimalizovať svoj kód pre tento operačný systém a znova ho skompilovať.

Nevýhodou tlmočníka je pridaná réžia. Tlmočník by potreboval nejaký procesorový výkon a každý riadok kódu by sa interpretoval počas behu programu. Toto nie je prípad, keď máte kompilovaný program, pretože operačný systém ho môže prečítať priamo a vykonať každý príkaz. Ďalší krok interpretácie kódu spôsobuje, že interpretovaný program beží podstatne pomalšie ako kompilovaný kód. Tlmočník by tiež nebol schopný využiť optimalizácie špecifické pre OS, ktoré môžu umožniť, aby kompilovaný program bežal efektívnejšie.

Výber medzi prekladačom a tlmočníkom by mal závisieť od toho, či chcete prenosnosť alebo výkon.

Zhrnutie:

  1. Tlmočník priamo vykoná kód, zatiaľ čo kompilátor nie
  2. Tlmočník musí byť k dispozícii v cieľovom počítači, zatiaľ čo kompilátor nie je
  3. Interpretovaný program bude bežať na viacerých platformách, zatiaľ čo kompilovaný program nebude
  4. Interpretovaný program pobeží pomalšie ako kompilovaný program