Interpretirani in sestavljeni programski jeziki: v čem je razlika?

Vsak program je nabor navodil, naj gre za dodajanje dveh številk ali pošiljanje zahteve prek interneta. Prevajalniki in tolmači sprejmejo človeško berljivo kodo in jo pretvorijo v računalniško berljivo strojno kodo.

V prevedenem jeziku ciljni stroj neposredno prevede program. V interpretiranem jeziku ciljna naprava izvorne kode ne prevede neposredno. Namesto tega drug program, imenovan tolmač, bere in izvaja kodo.

V redu ... ampak kaj to dejansko pomeni?

Predstavljajte si, da imate recept za humus, ki ga želite pripraviti, vendar je napisan v starogrščini. Obstajata dva načina, kako bi lahko, ne-grško govoreči, sledili njegovim navodilom.

Prvi je, če vam ga je nekdo že prevedel v angleščino. Vi (in vsi drugi, ki govorijo angleško) ste lahko prebrali angleško različico recepta in naredili humus. Ta prevedeni recept si predstavljajte kot sestavljeno različico.

Drugi način je, če imate prijatelja, ki zna staro grščino. Ko ste pripravljeni pripraviti humus, vaš prijatelj sedi zraven in po vrstnem redu prevede recept v angleščino. V tem primeru je vaš prijatelj tolmač za interpretirano različico recepta.

Sestavljeni jeziki

Prevedeni jeziki se pretvorijo neposredno v strojno kodo, ki jo lahko izvaja procesor. Kot rezultat so ponavadi hitrejši in učinkovitejši za izvajanje kot tolmačeni jeziki. Razvijalcem omogočajo tudi večji nadzor nad vidiki strojne opreme, kot sta upravljanje pomnilnika in uporaba procesorja.

Prevedeni jeziki potrebujejo korak »gradnje« - najprej jih je treba prevesti ročno. Program morate "znova zgraditi" vsakič, ko želite spremeniti. V našem primeru humusa je celoten prevod napisan, preden pride do vas. Če se izvirni avtor odloči, da želi uporabiti drugačno oljčno olje, bo treba celoten recept znova prevesti in se vam zameriti.

Primeri čisto prevedenih jezikov so C, C ++, Erlang, Haskell, Rust in Go.

Tolmačeni jeziki

Tolmači tečejo skozi program po vrsticah in izvajajo vsak ukaz. Če se avtor odloči, da želi uporabiti drugačno oljčno olje, lahko staro opraska in doda novo. Vaš prijatelj prevajalec vam lahko to spremembo sporoči, ko se zgodi.

Tolmačeni jeziki so bili nekoč bistveno počasnejši od prevedenih jezikov. Toda z razvojem pravočasnega zbiranja se ta vrzel zmanjšuje.

Primeri pogostih tolmačenih jezikov so PHP, Ruby, Python in JavaScript.

Majhno opozorilo

Večina programskih jezikov ima lahko tako prevedene kot interpretirane izvedbe - sam jezik ni nujno sestavljen ali interpretiran. Zaradi poenostavitve pa jih običajno imenujemo takšne.

Python, na primer, je mogoče v interaktivnem načinu izvajati kot prevedeni program ali kot interpretiran jezik. Po drugi strani pa je večino orodij ukazne vrstice, CLI-jev in lupin teoretično mogoče razvrstiti kot tolmačene jezike.

Prednosti in slabosti

Prednosti prevedenih jezikov

Programi, ki so zbrani v izvorno strojno kodo, so ponavadi hitrejši od interpretirane kode. To je zato, ker postopek prevajanja kode v času izvajanja prispeva k režiji in lahko povzroči, da je program na splošno počasnejši.

Slabosti prevedenih jezikov

Najpomembnejše slabosti so:

  • Dodaten čas, potreben za dokončanje celotnega koraka priprave pred testiranjem
  • Odvisnost generirane binarne kode od platforme

Prednosti tolmačenih jezikov

Tolmačeni jeziki so ponavadi bolj prilagodljivi in ​​pogosto ponujajo funkcije, kot so dinamično tipkanje in manjša velikost programa. Ker tolmači sami izvajajo izvorno programsko kodo, je koda sama neodvisna od platforme.

Slabosti tolmačenih jezikov

Najbolj opazna pomanjkljivost je tipična hitrost izvajanja v primerjavi s prevedenimi jeziki.