În general, scriem un program de calculator folosind un limbaj de nivel înalt. Un limbaj de nivel înalt este unul care este inteligibil pentru noi, oamenii. Acesta se numește cod sursă.
Cu toate acestea, un calculator nu înțelege un limbaj de nivel înalt. El înțelege doar programul scris în binar cu 0 și 1, numit cod mașină.
Pentru a converti codul sursă în cod mașină, folosim fie un compilator, fie un interpret.
Atât compilatoarele, cât și interpretoarele sunt folosite pentru a converti un program scris într-un limbaj de nivel înalt în cod mașină înțeles de calculatoare. Cu toate acestea, există diferențe între modul în care funcționează un interpretor și un compilator.
Interpretor vs. compilator
Interpretor | Compilator |
---|---|
Traduce programul o instrucțiune la un moment dat. | Analizează întregul program și îl traduce ca întreg în cod mașină. |
Interpretorii necesită de obicei mai puțin timp pentru a analiza codul sursă. Cu toate acestea, timpul total de execuție este comparativ mai lent decât compilatoarele. | Compilatoarele necesită, de obicei, o cantitate mare de timp pentru a analiza codul sursă. Cu toate acestea, timpul total de execuție este comparativ mai rapid decât interpretorii. |
Nu se generează cod obiect intermediar, prin urmare sunt eficiente din punct de vedere al memoriei. | Generează cod obiect intermediar care necesită în continuare o legătură, prin urmare necesită mai multă memorie. |
Limbajele de programare precum JavaScript, Python, Ruby utilizează interpreți. | Limbajele de programare precum C, C++, Java utilizează compilatoare. |