Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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.