Compiler vs Interpreter
Kompajler i interpreter, oba u osnovi služe istoj svrsi. Oni pretvaraju jedan nivo jezika u drugi nivo. Kompajler konvertuje instrukcije visokog nivoa u mašinski jezik, dok prevodilac konvertuje instrukcije visokog nivoa u neki srednji oblik i nakon toga se instrukcija izvršava.
Compiler
Kompajler je definisan kao kompjuterski program koji se koristi za pretvaranje instrukcija ili jezika visokog nivoa u oblik koji računar može razumeti. Pošto kompjuter može razumjeti samo binarne brojeve, kompajler se koristi za popunjavanje praznine, inače bi čovjeku bilo teško pronaći informacije u obliku 0 i 1.
Ranije su kompajleri bili jednostavni programi koji su se koristili za pretvaranje simbola u bitove. Programi su također bili vrlo jednostavni i sadržavali su niz koraka koji su ručno prevedeni u podatke. Međutim, ovo je bio veoma dugotrajan proces. Dakle, neki dijelovi su programirani ili automatizirani. Ovo je formiralo prvog kompajlera.
Sofisticiraniji kompajleri se kreiraju korišćenjem jednostavnijih. Sa svakom novom verzijom, dodaje se više pravila i stvara se prirodnije jezičko okruženje za programera. Programi complier se razvijaju na ovaj način što poboljšava njihovu jednostavnost upotrebe.
Postoje specifični komplieri za određene specifične jezike ili zadatke. Compliers mogu biti višestruki ili višestepeni. Prvi prolaz može pretvoriti jezik visokog nivoa u jezik koji je bliži kompjuterskom jeziku. Zatim ga daljnji prolazi mogu pretvoriti u završnu fazu u svrhu izvršenja.
Tumač
Programi kreirani na jezicima visokog nivoa mogu se izvršiti na dva različita načina. Prvi je korištenje kompajlera, a drugi metod je korištenje interpretatora. Nastavu ili jezik visokog nivoa prevodilac pretvara u srednji nivo. Prednost upotrebe interpretatora je u tome što instrukcije visokog nivoa ne prolaze kroz fazu kompilacije što može biti metod koji oduzima mnogo vremena. Dakle, korišćenjem interpretatora, program visokog nivoa se izvršava direktno. To je razlog zašto neki programeri koriste tumače dok prave male sekcije jer to štedi vrijeme.
Gotovo svi programski jezici visokog nivoa imaju kompajlere i interpretatore. Ali neki jezici poput LISP-a i BASIC-a su dizajnirani na takav način da se programi napravljeni pomoću njih izvršavaju od strane tumača.
Razlika između kompajlera i interpretatora
• Prevodilac konvertuje instrukcije visokog nivoa u mašinski jezik, dok prevodilac konvertuje instrukcije visokog nivoa u srednji oblik.
• Prije izvođenja, cijeli program izvršava kompajler, dok nakon prevođenja prvog reda, interpretator ga izvršava i tako dalje.
• Spisak grešaka kreira kompajler nakon procesa kompilacije, dok tumač prestaje da prevodi nakon prve greške.
• Nezavisnu izvršnu datoteku kreira kompajler, dok interpretirani program svaki put traži interpreter.