Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Rozdiel medzi preloženými a interpretovanými počítačovými jazykmi?

Rozdiel medzi preloženými a interpretovanými počítačovými jazykmi spočíva v * Ako * zdrojový kód (program napísaný človekom) vykonáva počítač. Obidve prevedú kód čitateľný človekom na pokyny čitateľné strojom, ale robia to v rôznych časoch a rôznymi spôsobmi:

Preložené jazyky (zostavené jazyky):

* Proces prekladu: A * kompilátor * berie celý program zdrojového kódu ako vstup a prekladá ho do kompletného programu strojového kódu (alebo do strednej reprezentácie, ktorá je potom preložená do strojového kódu) * Pred * spustením programu. Tento proces sa často nazýva *kompilácia *. Výsledný strojový kód je samostatný súbor (napríklad `.exe` v systéme Windows alebo spustiteľný súbor v iných systémoch).

* vykonávanie: Zostavený strojový kód sa potom vykonáva priamo pomocou procesora počítača.

* Rýchlosť: Všeobecne rýchlejšie vykonávanie, pretože preklad sa vykonáva vopred a procesor vykonáva priamo optimalizovaný strojový kód.

* Detekcia chýb: Chyby kompilátora sú zistené * pred * runtime. Kompilátor identifikuje chyby syntaxe a niektoré sémantické chyby počas procesu kompilácie.

* Prenosnosť: Zvyčajne menej prenosné. Zostavený program pre jeden operačný systém alebo architektúru sa zvyčajne beží na inom bez rekompilácie.

* Príklady: C, C ++, Go, Rust, Fortran

Interpretované jazyky:

* Proces prekladu: Tlmočník *vezme riadok zdrojového kódu po riadku (alebo niekedy vo väčších kúskoch) a prekladá a vykoná každý kus *okamžite *. Neexistuje žiadny samostatný kompilačný krok, ktorý by produkoval samostatný spustiteľný.

* vykonávanie: Tlmočník číta, prekladá a vykonáva súčasne kód. Neprodukuje samostatný súbor strojového kódu.

* Rýchlosť: Všeobecne pomalšie vykonávanie kvôli prekladu za letu. Každý riadok (alebo kus) sa musí interpretovať zakaždým, keď je vykonaný.

* Detekcia chýb: Chyby sa často zisťujú iba počas behu. Tlmočník nemusí chytiť všetky chyby, kým sa nevykoná problematický kód.

* Prenosnosť: Často prenosnejšie. Pokiaľ je tlmočník k dispozícii pre konkrétnu platformu, zdrojový kód sa zvyčajne môže spustiť.

* Príklady: Python, JavaScript, Ruby, Perl, Php

hybridné prístupy:

Je dôležité poznamenať, že rozlíšenie nie je vždy jasné. Niektoré jazyky používajú hybridný prístup:

* kompilácia just-in-time (jit): Jazyky ako Java a C# spočiatku zostavujú zdrojový kód do strednej reprezentácie (bajtový kód). Kompilátor JIT potom prekladá túto strednú reprezentáciu do strojového kódu *počas runtime *. To kombinuje výhody interpretovaných aj kompilovaných jazykov:počiatočná prenosnosť (napríklad interpretovaná) a rýchlejšie vykonávanie často používaných sekcií kódov (napríklad kompilované).

Stručne povedané:Kompilácia prekladá celý program naraz * pred * vykonaním, čo vedie k rýchlejšiemu vykonávaniu, ale menšej prenosnosti a detekcii chýb vopred. Interpretácia prekladá a vykonáva kódový riadok podľa riadku, ktorý poskytuje lepšiu prenosnosť, ale pomalšie vykonávanie a detekciu chýb runtime. Mnoho moderných jazykov používa hybridné prístupy na to, aby získali to najlepšie z oboch svetov.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené