Prevodilac i tumač

Anonim

Prevodilac vs tumač

Pri pisanju programa na visokom nivou, računalo ga neće moći razumjeti. Tako da će biti korisno, morate ga pretvoriti u nešto što računalo razumije. Ovdje se pojavljuju prevoditelji i prevoditelji jer oboje rade istu funkciju. Glavna razlika između prevoditelja i tumača je kada izvršavaju kôd. Kod tumača, kod se izvršava odmah s tumačenjem prolazeći tumačeni kod na računalo. U usporedbi, prevodilac ne izvršava kôd. Umjesto toga, piše gotov kod na disk. Kôd zapisan na disk može se izvršiti bilo kada.

Glavna razlika između tumača i prevoditelja mijenja drugu. Budući da je prevoditelj potreban pri pokretanju programa, morate imati instaliran prevoditelj ako želite izvršiti program u vašem računalu. To nije slučaj kod prevodioca. Nakon što je program sastavljen, trebate samo sastaviti program, a ne prevodilac ili izvorni kod.

Prednost korištenja prevoditelja umjesto prevodioca je mogućnost izvršavanja programa na računalima koja izvode različite operacijske sustave; s obzirom da imate odgovarajuće tumače. Kada sastavite program, to bi bilo samo za određeni operativni sustav i ne bi se pokrenuo na drugima. Da biste ga pokrenuli na nekom drugom operativnom sustavu, trebate optimizirati svoj kôd za taj operativni sustav i sastaviti ga ponovno.

Nedostatak korištenja tumača je dodatak nadzemlja. Tumač će trebati neku obradnu moć i svaka linija koda bi se tumačila tijekom izvođenja. To nije slučaj kada imate kompilirani program jer ga operacijski sustav može izravno pročitati i izvršiti svaku naredbu. Dodatni korak kodnog tumačenja čini tumačeni program za pokretanje znatno sporijih od kompiliranog koda. Tumač također ne bi bio u mogućnosti iskoristiti OS specifične optimizacije koje mogu dopustiti da se sastavljeni program pokrene učinkovitije.

Odabir između prevoditelja i prevoditelja trebao bi ovisiti o tome želite li prenosivost ili izvedbu.

Sažetak:

  1. Tumač izravno izvršava kod dok prevoditelj ne
  2. Tumač mora biti dostupan u ciljnom stroju dok prevoditelj nije
  3. Tumačeni program će se izvoditi na više platformi dok kompilirani program neće
  4. Tumačeni program će se pokrenuti sporiji od kompiliranog programa