Il compilatore

Il linguaggio di programmazione

Tutto gli ambiti legati all'Informatica si portano dietro il concetto di "linguaggio di programmazione". Tutti sappiamo che un qualsiasi linguaggio è composto da elementi (come verbi, sostantivi, aggettivi, articoli etc..) che posti in una certa forma ed ordine con determinate e precise regole compongono frasi di senso compiuto, o meglio, fanno assumere al contesto un senso logico, portandolo ad asssumere un significato. Ecco, con lo stesso criterio, i linguaggi di programmazione si pongono tra la vera e propria macchina e il programmatore, ovvero chi scrive un programma. 

Un programma, in fondo, non è poi così diverso da un romanzo di uno scrittore. L'unica e sostanziale differenza sta nel fatto che il programmatore è l'unico a comprendere cosa ci sia scritto in un programma. Esso è quindi un pezzo di codice comprensibile solo ad un programmatore che conosce quel linguaggio. Quando però quel programma passa per la traduzione... è qui che avviene la "magia". Quando viene tradotto nel linguaggio macchina, la risposta è soprendente: attraverso l'operazione di traduzione il programma viene codificato ed eseguito. Questa operazione è ad opera del cosidddetto compilatore.

Ma concentriamoci sul linguaggio di programmazione che ci permetterà di capire cosa fa e come funziona un compilatore. Come in tutti i linguaggi, in un linguaggio di programmazione (alto livello) esistono delle parole che messe in un certo ordine e rispettando certe regole assumono significato. Per farle comprendere ad una macchina è necessario tradurlo in un linguaggio che essa possa comprendere detto di basso livello (o livello macchina). Ad esempio, guardiamo questo codice qui, scritto in linguaggio C, uno dei più diffusi linguaggi di programmazione:


Una volta tradotto e compilato assume il seguente risultato detto di output attraverso un elemento di visualizzazione che tutti i sistemi operativi possiedono (Prompt dei comandi, Console, Shell etc..):