Ce este un interpretor?
Sursă imagine: Lucas Sankey on Unsplash

Ce este un interpretor? Ce anume interpretează? În acest articol mă refer strict la un interpretor pentru limbajele de programare din lumea calculatoarelor, nu la un traducător de limbi străine…

Sunt două mari tipuri de tehnologii folosite pentru a rula un limbaj de programare: interpretorul și compilatorul. Vezi aici mai multe despre compilator.

Interpretorul este un program care transformă limbajul de programare de „nivel înalt” (high-level programming languge) sau codul sursă direct în mediul utilizatorului ca rezultat, fără a-l transforma în cod mașină (recunoscut de calculator prin cifrele 0 și 1).

Cum se interpretează codul sursă? La fel cum un traducător îți traduce cuvânt cu cuvânt, expresie cu expresie, propoziție cu propoziție sau frază cu frază, așa face și un interpretor, adică interpretează totdeauna câte o linie de cod.

Sunt limbaje de programare pentru a crea scripturi (cum ar fi Python, Perl, PHP, JavaScript), unde codul se scrie linie cu linie. E clar că orice limbaj de programare este organizat în linii de cod, dar la scripturi, aceste linii de cod sunt interpretate una câte una.

Interpretorul analizează codul linie după linie, una câte una, de sus în jos. Ce se-ntâmplă dacă găsește o eroare? În caz că se găsește o eroare, programul se oprește imediat. Partea bună e că programul va rula până la întâmpinarea erorii. În cazul programelor compilate, acestea nu vor rula până nu se rezolvă toate erorile (bineînțeles, doar dacă apar erori).

Dacă tot am adus în discuție scripturile, acestea se scriu folosind editoare de text sau IDE (Integrated Development Environment), dar și CLI (Command Line Interfaces). De obicei, un IDE are integrat și un CLI. Exemple de CLI: în Windows avem Command Prompt (cmd.exe) și PowerShell, iar în Linux și macOS avem terminalul (Linux Bash Terminal și Mac Terminal).

Care este cel mai cunoscut interpretor? Cel de pe care citești chiar acum articolul de față: browserul.

De ce să folosești un interpretor? Hai să-ți scriu că întrebarea asta nu-i bună deloc… Există întrebări bune și întrebări greșite? Categoric. Nu tu decizi care limbaj de programare folosește un interpretor sau un compilator. Din moment ce ai de automatizat niște comenzi, atunci în mod garantat vei folosi scripturi, prin urmare un interpretor. În schimb, dacă folosești un program cu mai multe fișiere și ai nevoie de un fișier executabil, atunci vei utiliza compilatorul. Ca fapt divers, e un mare avantaj să știi ce limbaj de programare să folosești pentru a-ți duce atribuțiile la bun sfârșit cu succes.

De reținut: un compilator generează un fișier executabil; un interpretor execută codul direct fără a lăsa un fișier executabil în urmă (nu salvează nimic în memoria calculatorului).

Există doi termeni foarte faini în programare pe care trebuie să-i cunoști și să-i înțelegi neapărat: timpul de compilare (compile time) și timpul de rulare (runtime).

  • Timpul de compilare (compile time) este atunci când codul sursă este convertit în cod mașină (fișier executabil).
  • Timpul de rulare (runtime) este atunci când rulează programul și până se termină (runtime apare imediat după compile time).

Recapitulare: un interpretor este un program (sau tehnologie?!) care execută instrucțiunile codului sursă una câte una, fără a transforma întreg programul în cod mașină, ci va afișa rezultatul direct (nu va salva nicio informație suplimentară în memoria dispozitivului, adică nu se va crea niciun fișier executabil, ci totul se va întâmpla în runtime, la rulare, live).

Știi acum ce este un interpretor? Învață să fii profesionist!


Sursă imagine: Lucas Sankey on Unsplash

By projava

#JAVA

Abonează-te
Primește notificări pentru
guest
0 Comentarii
Păreri...
Vezi toate comentariile