Kompajler i Interpreter

Kompajler vs. Interpreter:

Postoje dvije opcije prilikom razvoja nekog programa
  • kompajliranje
  • interpretiranje
Kompajliranje je upotreba jezika zasnovanog na kompajleru, kao sto su C, C++, Java i drugi. Kada koristimo jezik zasnovan na kompajliranju, kompletan kod se kompajlira i kreira se binarni izvrsni fajl npr .exe nakon cega pokrecemo fajl i kompajlirani kod se izvrsava.

Interpreter je upotreba jezika zasnovanog na interpreteru kao sto je Bash shell skriptovanje. Kada koristimo jezik zasnovan na interpretiranju, svaka linija programa se interpretira odnosno izvrsava, jedna po jedna, od vrha ka dnu izvornog koda. Ako peta linija sadrzi sintaksnu gresku ili ima problem prilikom interpretiranja, kod se ipak izvrsava, za razliku od kompajliranog koda gdje ukoliko se pojavi greska, kod se ne moze izvrsiti.

Kada se ne koriste skripte:

Shell skripte imaju prednosti i mane nad programima koji korste kompajliranje.

Skriptu je lagano napisati. Skripta u 99% slucajeva ne sadrzi ogroman kod, sa klasama, visestrukim fajlovima i slicno. Sve je sazeto u jednom fajlu koji biva interpretiran.
Skripte su brze za pokretanje jer rade blizu operativnog sistema (low level)
Pomocu skripte, mozemo automatizovati svaki posao na Linux operativnom sistemu
Nedostaci shell skripte su:

Svaka linija koda uzima jedan proces koji mora biti pokrenut u operativnom sistemu.
Shell skripte nisu pogodne za kompleksne matematicke radnje