Compilatori ed Interpreti

I linguaggi di programmazione consentono d’ interagire con i computer ma la scrittura di un programma sarebbe fine a se stessa senza compilatori ed interpreti. Un computer non riuscirebbe a comprendere un programma scritto con i linguaggi di programmazione senza che il codice fosse prima tradotto in linguaggio macchina; nel caso dei compilatori, o interpretato nel caso degli interpreti.

Differenze tra linguaggi compilati ed interpretati

Per capire bene la differenza sostanziale dei vincoli di un programma compilato come in C, C++ rispetto ad uno interpretato, bisogna andare indietro nel tempo; infatti solo così diventa semplice focalizzare cosa spinse allora l’ esigenza di trovare soluzioni alternative a quelle dei linguaggi compilati. Anche se oggi le cose sono cambiate con l’ uscita di nuovi linguaggi di programmazione come:

a suo tempo con l’ avvento di internet abbinato alle problematiche relative alla scalabilità e l’ interazione server/client. Le Applet “piccole applicazioni scritte in Java” furono le prime ad aprire la strada al nuovo modo di intendere il Web. Il Browser della Netscape integrò per primo una Java Virtual Machine al suo interno; dimostrando e consentendo l’ interazione tra utente e server remoto, in Run time.

Compilatori ed interpreti

La differenza con un programma interpretato consiste che il programma compilato è assemblato in codice binario una sola volta creando l’ eseguibile; viceversa il codice interpretato è eseguito immediatamente ogni volta. Un esempio concreto di codice interpretato è ben rappresentato dalla JVM ed il linguaggio java.

compilatori ed interpreti
Schema di compilazione.

Il successo di Java

La JVM ha determinato il successo di Java  permettendo ad un programma scritto in codice Java di essere interpretato in Run Time e quindi indipendente dalla piattaforma! La Java Virtual Machine può essere integrata su qualsiasi sistema operativo sia esso:

permettendo di aggirare tutti quei vincoli che si avevano invece con programmi compilati; i quali erano costretti all’inclusione di librerie esterne di terzi parti per aumentare la portabilità, non senza poche problematiche di compatibilità.