Autore: #FilippoGuerranti
Avrete sicuramente sentito parlare di linguaggi di programmazione: Python, C++, Java, R sono alcuni dei più citati di recente. Ma cosa sono veramente?
La descrizione più semplice che se ne può dare è quella di una “lingua utilizzata per comunicare con un computer”. Proprio come una ricetta istruisce il cuoco per creare un piatto di alta cucina, un linguaggio di programmazione ha lo scopo di comunicare una serie di istruzioni che dovranno essere svolte da un computer.
Bisogna tenere a mente che un computer, sia esso un laptop, uno smartphone o il computer all’interno del forno a microonde, “parla” in binario, ovvero utilizzando sequenze di 1 e di 0 (per es. 1011001). La domanda sorge spontanea: come possiamo, noi esseri umani, comunicare con un’entità che utilizza questo codice così diverso dal nostro modo di parlare? Qui entrano in gioco i linguaggi di programmazione.
Un linguaggio di programmazione presenta una sintassi molto simile all’inglese comune: leggendo alcune righe di codice è facilmente intuibile quale sia il significato che ne sta alla base. Questo permette ad un programmatore di andare a leggere e comprendere in modo relativamente semplice un codice scritto da un altro programmatore.
La conversione di questo linguaggio di “alto livello” (vicino al livello umano) in linguaggio macchina (“basso livello”) viene effettuata da appositi programmi: compilatori o interpreti.
I compilatori convertono l’intero programma in un codice intermedio. Quando questo codice è stato generato, può essere eseguito dal computer. I linguaggi basati sui compilatori (come il C) sono generalmente più veloci in fase di esecuzione ma anche più complessi da utilizzare.
Gli interpreti, utilizzati in linguaggi come il Python, convertono ed eseguono il programma una linea alla volta. Offrono una maggiore facilità di utilizzo ma soffrono di una più lenta esecuzione.
Compilatori ed interpreti sono alla base dei linguaggi di programmazione e sono gli strumenti che rendono veramente possibile comunicare con i computer.
Se hai mai utilizzato un linguaggio di programmazione, come è stato il tuo primo approccio?
Comments