GUIDE

Linguaggi di programmazione: parliamone!

In tutte le ore passate davanti ad uno schermo acceso lavorando, studiando e visitando Lega Nerd fappando come dannati, non vi siete mai chiesti quale strana magia potesse aver trasformato quella cruda macchina composta da nient’altro che fisica applicata nello strumento che tuttora chiamate Computer?
Se non l’avete fatto, vi consiglio di farvi un bell’esame di coscienza; se invece avete immaginato i più impensabili scenari degni della più incredibile Fabbrica di Cioccolato, siete allora pronti per avventurarvi nella tana del verde coniglio.

Come probabilmente sapete, un sistema, di qualunque tipo, è generalmente composto da una struttura contenente precise e rigide regole scritte in un linguaggio ad hoc. Nel nostro caso, la struttura è il nostro hardware, le regole sono il kernel, i Driver, il sistema operativo ed anche i programmi che utilizzate quotidianamente ed il linguaggio è quello macchina, binario – composto solamente da 0 e 1 – e perfetto per rappresentare VERO e FALSO, i due stati logici che la macchina può utilizzare.
Immaginate ora miliardi di linee composte solamente da codice binario. Immaginate di dover scrivere o gestire una cosa del genere. Quando siete cotti a puntino, buttate la testa dentro un secchio pieno di ghiaccio, aglio, olio e peperoncino e continuate la lettura.

Come avete sperimentato, è tecnicamente impossibile per un essere umano contemplare un così basso livello logico quale è il linguaggio macchina. Durante i primi anni del dopoguerra, comunque, i linguaggi erano davvero molto simili ad istruzioni binarie e difficilmente potevano essere studiati da una persona che non fosse stata istruita ad un livello universitario. La creazione di programmi sempre più complessi portò così scienziati e ingegneri del software a sviluppare ad un livello molto più alto, in modo tale che la comprensione del testo non avesse dovuto richiedere un processo troppo complicato per il nostro povero e limitato cervello.
Nacquero quindi i primi linguaggi compilati, più vicini alla natura umana ma bisognosi di un programma in grado di tradurre il più efficientemente possibile il codice in linguaggio macchina. Successivamente, i linguaggi di programmazione ad alto livello incominciarono a differenziarsi a seconda dello stile e delle caratteristiche e nacquero anche i famosi linguaggi interpretati, di scripting e così via, formando l’ecosistema “stabile” che oggi esiste.

Proprio come la conoscenza del DNA ci permette di poter comprendere, capire e modellare il corpo umano, questi linguaggi sono fondamentali, insieme a delle buone basi di fisica, per capire a pieno le potenzialità che i calcolatori, in ogni forma, possiedono. Hanno cambiato il nostro modo di vivere, cambieranno anche il nostro modo di pensare.

Se volete approfondire, i classici link di Wikipedia sono sempre disponibili:
Kernel
Linguaggio di programmazione
Linguaggio Macchina

Prossimo articolo: Storia dei linguaggi di programmazione: dal Fortran ai giorni nostri.

Uber-paradigmi di programmazione
Debugging: la maledizione del programmatore
Alla ricerca del compilatore perduto
Basi ed acidi dei linguaggi di programmazione
Storia dei Linguaggi di Programmazione
Python e Ruby
Python e Ruby