Introducere in Stiinta Calculatoarelor 2013 | Page 120

compilare sau interpretare. Astfel, limbajele de programare permit realizarea codului ce va fi executat după traducerea sa în limbajul maşină prin: Compilare –traducerea are loc pentru întregul set de comenzi (descrise ca un tot unitar, într-un „program”). Limbaje din această categorie sunt C, C++, Java, Pascal, BASIC, FORTRAN, COBOL.  Interpretare – traducerea are loc linie cu linie (câte o comandă la un moment dat), de la prima până la ultima din setul dat. Limbaje din această categorie se numesc limbaje scripturale, iar textul cu comenzile se numeşte script, „fişier de comenzi” sau „lot de comenzi” (în engleză „batch”). Exemple de limbaje script sunt HTML, Perl, PHP, limbaje de comandă ale sistemului de operare („shell” – Bourne Shell, bash, csh).  Compilarea este traducerea (translatarea) unui program în limbaj de nivel înalt, numit program sursă, într-un program în cod maşină, numit program obiect. Compilatorul este un program care se execută pe calculator. El primeşte ca date de intrare programul sursă şi produce ca date de ieşire programul obiect, în cod maşină (binar). Acesta se stochează pe un suport de informaţie extern (pe disc) şi poate fi ulterior executat. Interpretorul este un program care execută direct programul sursă scris în limbaj de nivel înalt. Executarea se face instrucţiune cu instrucţiune. Se citeşte o instrucţiune din programul sursă, aceasta este translatată în cod maşină care este transmis spre execuţie procesorului, apoi se trece la instrucţiunea următoare din programul sursă şi se repetă ciclul. Dezavantaj: execuţia este mai lentă decât la programele compilate, deoarece se consumă timp pentru interpretare. Un avantaj important al programelor scrise în limbaj înalt este că ele pot fi executate, cel puţin în principiu, pe orice tip de calculator. Întrucât, codul maşină diferă de la un tip de calculator la altul, este necesar câte un compilator sau un interpretor al limbajului respectiv pentru fiecare tip de calculator pe care se intenţionează să fie executat 120