Razlika između prevoditelja i prevoditelja

Sastavljač protiv tumača

Kad piše programe na jeziku visoke razine, računalo ga neće moći razumjeti. Kako bi bio koristan, trebate ga pretvoriti u nešto što računalo razumije. Ovdje dolaze prevoditelji i prevoditelji jer oba rade na istoj funkciji. Glavna razlika između prevoditelja i prevoditelja je kada oni izvršavaju kod. Kod tumača, kod se izvršava odmah s tumačenjem koji provodi interpretirani kod na računalo. Za usporedbu, prevoditelj ne izvršava kôd. Umjesto toga, upisuje gotov kod na disk. Kôd zapisan na disk tada se može izvršiti bilo kada.

Glavna razlika između tumača i prevoditelja izvodi još jednu. Budući da je prevoditelj potreban kada pokrenete program, morate imati instaliran interpreter ako želite izvršiti program u svom stroju. To nije slučaj kod prevoditelja. Nakon što se program sastavi, potreban vam je samo sastavljeni program, a ne prevoditelj ili izvorni kod.

Prednost upotrebe tumača umjesto kompajlera je mogućnost izvršavanja programa na računalima sa operativnim sustavima; s obzirom da imate odgovarajućeg tumača. Kada sastavite program, on bi bio samo za određeni operativni sustav i ne bi se prikazivao na drugima. Da biste ga pokrenuli u drugom operativnom sustavu, trebate optimizirati svoj kôd za taj operativni sustav i ponovo ga sastaviti.

Loša strana korištenja tumača je dodana režijska vrijednost. Tumaču je potrebna određena moć obrade i svaki redak koda bit će interpretiran tijekom vremena izvođenja. To se ne događa kada imate sastavljeni program, jer ga operativni sustav može izravno čitati i izvršavati svaku naredbu. Dodatni korak tumačenja koda čini da protumačeni program radi znatno sporije od sastavljenog koda. Prevoditelj također ne bi mogao iskoristiti specifične optimizacije za OS koje mogu omogućiti da sastavljeni program radi učinkovitije.

Odabir između prevoditelja i prevoditelja trebao bi ovisiti želite li prenosivost ili performanse.

Sažetak:

  1. Interpreter izravno izvršava kôd dok prevoditelj ne
  2. Na ciljnom stroju mora biti dostupan tumač, a prevoditelj ne
  3. Interpretirani program pokrenut će se na više platformi dok sastavljeni program neće
  4. Tumačeni program pokrenut će se sporije od sastavljenog programa