Cominciare a programmare, come funzionano i linguaggi?

Sicuramente hai sentito che per creare programmi per computer si usano i “linguaggi di programmazione”, ma cosa sono e come funzionano i linguaggi di programmazione? Come puoi cominciare a programmare?

In pratica un programma per computer altro non è che una serie di istruzioni che viene salvata in un file, ogni volta che si apre quel file il computer eseguirà i comandi che ci sono scritti dentro.

Il computer però capisce solo comandi molto molto semplici, come: somma due numeri, dividi due numeri, ricorda questo numero, torna indietro nell’elenco delle istruzioni, e comandi del genere.

Come possiamo quindi dargli comandi più complessi come “scrivi questa frase”?

Ed è proprio qui che entrano in gioco i linguaggi di programmazione, queste sono vere e proprie lingue con le loro parole, le loro sintassi e le loro grammatiche in cui si possono esprimere i programmi.

Se la lingua base che il computer parla (il linguaggio macchina) è veramente molto elementare, i linguaggi di programmazione possono operare a qualsiasi livello di complessità, purché ci sia poi un modo di tradurli in linguaggio macchina. In quanto, ricordiamo, esso è l’unica lingua che il nostro computer realmente capisce.

La traduzione di un linguaggio di programmazione al linguaggio macchina è compito di strumenti chiamati compilatori ed interpreti.

Compilatori ed Interpreti

Ogni linguaggio di programmazione ha solitamente un suo compilatore o interprete, altrimenti non sarebbe usabile nella pratica. Sarebbe solo usabile in maniera astratta, magari su un foglio di carta per rappresentare delle idee e dei concetti, in questo caso parliamo di pseudolinguaggi.

I linguaggi di programmazione veri e propri invece richiedono un compilatore o interprete che converta il testo che avete scritto nel linguaggio nel linguaggio macchina che il computer può comprendere.

Questo processo, solitamente converte comandi come:

ripeti "ciao" tre volte

in una serie di comandi più semplici come:

1) setta contatore a 3
2) "ciao"
3) togli 1 al contatore
4) se contatore maggiore 0 vai a 2)

Ma compilatori ed interpreti, anche se condividono lo stesso scopo, non funzionano proprio allo stesso modo. Vediamo le differenze.

Linguaggi Compilati

Un linguaggio compilato è un linguaggio di programmazione che per poter essere eseguito dal computer deve essere interamente tradotto nel linguaggio macchina.

La conversione di tutte le istruzioni di un programma dal linguaggio compilato al linguaggio macchina è appunto chiamata compilazione.

La compilazione è spesso un processo piuttosto lento, in alcuni casi può richiedere ore per software molto grossi quali videogiochi, sistemi operativi, o equivalenti.

La compilazione viene svolta da programmi apposta, chiamati compilatori.

Una volta che il processo di compilazione è completato, il risultato sarà un nuovo file, chiamato file oggetto, questo file può essere un eseguibile di per sé (cioè un programma che potete avviare sul vostro computer) oppure un pezzo di un programma più grosso composto da molteplici file oggetto, che uniti assieme possono formare l’eseguibile.

Linguaggi Interpretati

I linguaggi interpretati si differenziano dai linguaggi compilati perché non c’è uno step di “traduzione” dal linguaggio di alto livello al linguaggio macchina.

Il linguaggio di alto livello può essere direttamente compreso dal computer tramite uno strumento chiamato interprete. L’interprete altro non è che un programma che si mette in mezzo tra il codice di alto livello ed il computer e traduce ogni istruzione una alla volta man mano che il computer le deve eseguire.

In pratica con un compilatore è come se per parlare con uno straniero gli chiedeste di scrivere su un foglio di carta tutto il discorso che vuole farvi e faceste tradurre tutto il discorso in Italiano per poi leggervelo con calma.

Mentre tramite l’interprete è come se aveste una persona che capisce entrambe le lingue (l’interprete appunto) e che man mano che lo straniero dice una frase ve la ripete in italiano.

E` facile capire come seguire tutto il discorso con lo straniero tramite un interprete richieda molto più tempo che non leggerlo dopo che è stato tradotto. Perché per ogni frase che lo straniero dice dovrete aspettare che la dica e poi aspettare che l’interprete la ripeta. Invece nel caso del testo che è stato tradotto l’intero testo è già stato tradotto a priori e non dovete aspettare niente tra una frase e l’altra.

Allo stesso modo i programmi scritti con linguaggi interpretati sono spesso più lenti dei programmi scritti con linguaggi compilati perché mentre girano devono continuamente aspettare che l’interprete li traduca un pezzettino alla volta.

Da dove cominciare?

Se volete cominciare a provare a programmare è solitamente consigliato cominciare con linguaggi interpretati.

I linguaggi interpretati sono solitamente più facili da usare, non richiedono di imparare ad usare il compilatore e sono spesso linguaggi più facili di per sé.

In passato il linguaggi più usato per imparare a programmare era BASIC, oggi giorno il linguaggio più diffuso per imparare la programmazione è invece Python.

Entrambi sono linguaggi interpretati e relativamente semplici, ma se non avete mai programmato prima potreste vole cominciare con strumenti come Scratch il quale è un linguaggio molto semplice inventato dall’MIT proprio al fine di insegnare la programmazione a novizi del settore.

Scratch gode di pochi campi applicativi nella pratica, quindi non potrete farci certamente il nuovo Microsoft Word, mentre con Python potreste benissimo, ma se il vostro scopo è comprendere il mondo della programmazione potrebbe essere lo strumento giusto per voi.

 

COMMENTI

Share