Překladač vs tlumočník – rozdíl mezi nimi
Klíčový rozdíl mezi kompilátorem a interpretem
- Kompilátor transformuje kód napsaný v programovacím jazyce na vysoké úrovni do strojového kódu najednou před spuštěním programu, zatímco interpret převádí každý příkaz programu na vysoké úrovni, jeden po druhém, do strojového kódu během běhu programu.
- Kompilovaný kód běží rychleji, zatímco interpretovaný kód běží pomaleji.
- Kompilátor zobrazuje všechny chyby po kompilaci, na druhou stranu Interpreter zobrazuje chyby každého řádku jednu po druhé.
- Kompilátor je založen na modelu propojování a načítání překladu, zatímco interpret je založen na metodě interpretace.
- Kompilátor bere celý program, zatímco Interpreter bere jeden řádek kódu.

Co je kompilátor?
Kompilátor je počítačový program, který transformuje kód napsaný v programovacím jazyce vysoké úrovně na strojový kód. Je to program, který překládá kód čitelný pro člověka do jazyka, kterému rozumí počítačový procesor (binární 1 a 0 bitů). Počítač zpracovává strojový kód, aby provedl odpovídající úkoly.
A kompilátor by měl odpovídat pravidlům syntaxe toho programovacího jazyka, ve kterém je napsán. Kompilátor je však pouze program a nemůže opravit chyby nalezené v tomto programu. Pokud tedy uděláte chybu, musíte provést změny v syntaxi vašeho programu. Jinak se nezkompiluje.
Co je tlumočník?
Interpret je počítačový program, který převádí každý příkaz programu na vysoké úrovni do strojového kódu. To zahrnuje zdrojový kód, předkompilovaný kód a skripty. Kompilátor i tlumočníci dělají stejnou práci, kterou je převod programovacího jazyka vyšší úrovně na strojový kód. Kompilátor však před spuštěním programu převede kód na strojový kód (vytvoří exe). Interpreti převádějí kód na strojový kód, když je program spuštěn.
Rozdíl mezi překladačem a tlumočníkem
Zde je důležitý rozdíl mezi kompilátorem a interpretem:
Základ rozdílu | překladač | Tlumočník |
---|---|---|
Kroky programování |
|
|
Výhoda | Programový kód je již přeložen do strojového kódu. Doba provádění kódu je tedy kratší. | Použití tlumočníků je snazší, zejména pro začátečníky. |
Nevýhoda | Program nemůžete změnit, aniž byste se vrátili ke zdrojovému kódu. | Interpretované programy mohou běžet na počítačích, které mají odpovídající interpret. |
Strojový kód | Uložte strojový jazyk jako strojový kód na disk | Strojový kód se vůbec neukládá. |
Hrací čas | Kompilovaný kód běží rychleji | Interpretovaný kód běží pomaleji |
Model | Je založen na modelu propojení a načítání jazykového překladu. | Je založena na metodě interpretace. |
Generování programu | Generuje výstupní program (ve formě exe), který lze spustit nezávisle na původním programu. | Negenerujte výstupní program. Takže vyhodnocují zdrojový program pokaždé během provádění. |
Provedení | Provádění programu je oddělené od kompilace. Provede se až po zkompilování celého výstupního programu. | Provádění programu je součástí interpretačního procesu, takže se provádí řádek po řádku. |
Požadavky na paměť | Target program se provádí nezávisle a nevyžadují kompilátor v paměti. | Tlumočník existuje během interpretace v paměti. |
Nejvhodnější pro | Vázané na konkrétní cílový počítač a nelze je přenést. C a C++ jsou nejoblíbenějším programovacím jazykem, který používá kompilační model. | Pro webová prostředí, kde je důležitá doba načítání. Vzhledem k tomu, že je provedena vyčerpávající analýza, trvá kompilace relativně déle, než kompilace i malého kódu, který nemusí být spuštěn vícekrát. V takových případech jsou lepší tlumočníci. |
Optimalizace kódu | Kompilátor vidí celý kód předem. Proto provádějí spoustu optimalizací, díky nimž kód běží rychleji | Interpreti vidí kód řádek po řádku, a proto optimalizace nejsou tak robustní jako kompilátory |
Dynamické psaní | Je obtížné implementovat, protože kompilátory nemohou předvídat, co se stane v době otočení. | Interpretované jazyky podporují dynamické psaní |
Používání | Nejlépe se hodí do produkčního prostředí | Nejlépe se hodí pro program a vývojové prostředí. |
Chyba při provádění | Kompilátor zobrazuje všechny chyby a varování v době kompilace. Program proto nelze spustit bez opravy chyb | Interpret přečte jeden příkaz a zobrazí chybu, pokud existuje. Chcete-li interpretovat další řádek, musíte chybu opravit. |
Vstup | Chce to celý program | Zabere to jeden řádek kódu. |
Výstup | Compliers generuje střední strojový kód. | Interpreter nikdy negeneruje žádný mezilehlý strojový kód. |
chyby | Zobrazit všechny chyby po kompilaci, vše současně. | Zobrazuje postupně všechny chyby každého řádku. |
Příslušné programovací jazyky | C, C++, C#, Scala, Java všechny použití kompatibilní. | PHP, Perl, Rubín používá tlumočníka. |
Role kompilátoru
- Compliers čte zdrojový kód, vydává spustitelný kód
- Překládá software napsaný v jazyce vyšší úrovně do instrukcí, kterým počítač rozumí. Převádí text, který programátor zapíše, do formátu, kterému CPU rozumí.
- Proces sestavení je poměrně komplikovaný. Stráví spoustu času analýzou a zpracováním programu.
- Výsledkem spustitelného souboru je nějaká forma binárního kódu specifického pro počítač.
Zkontrolujte také: - Návod k návrhu kompilátoru pro začátečníky
Role tlumočníka
- Interpret převádí zdrojový kód řádek po řádku během RUN Time.
- Interpret kompletně překládá program napsaný v jazyce na vysoké úrovni do jazyka na strojové úrovni.
- Interpreter umožňuje vyhodnocení a úpravy programu během jeho provádění.
- Relativně méně času stráveného analýzou a zpracováním programu
- Spouštění programu je ve srovnání s kompilátorem relativně pomalé
JAZYKY NA VYSOKÉ ÚROVNI
Jazyky na vysoké úrovni, jako C, C++, JAVA atd. jsou velmi blízké angličtině. Usnadňuje proces programování. Před provedením však musí být přeložen do strojového jazyka. Tento proces překladu provádí buď kompilátor, nebo tlumočník. Také známý jako zdrojový kód.
KÓD STROJE
Strojové jazyky jsou velmi blízké hardwaru. Každý počítač má svůj strojový jazyk. Programy strojového jazyka se skládají z řady binárních vzorů. (Např. 110110) Představuje jednoduché operace, které by měl počítač provádět. Programy ve strojovém jazyce jsou spustitelné, takže je lze spouštět přímo.
OBJEKTOVÝ KÓD
Při kompilaci zdrojového kódu se strojový kód generovaný pro různé procesory jako Intel, AMD a ARM liší. Aby byl kód přenositelný, je zdrojový kód nejprve převeden na objektový kód. Jde o zprostředkující kód (podobný strojovému kódu), kterému žádný procesor nebude rozumět. Za běhu je objektový kód převeden na strojový kód základní platformy.
Java je kompilovaný i interpretovaný.
K využití relativních výhod kompilátorů jsou interpreti jako nějaký programovací jazyk Java jsou jak kompilovány, tak interpretovány. The Java samotný kód je zkompilován do objektového kódu. V době běhu, JVM interpretuje objektový kód do strojového kódu cílového počítače.
Zkontrolujte také: - Java Výukový program pro začátečníky: Naučte se jádro Java Programování