Nel 1958, un gruppo di pionieri dell'MIT si pose una domanda del tutto diversa: e se le macchine non dovessero solo fare i conti, ma imparassero a ragionare?
A guidare questa visione c'era John McCarthy, un matematico geniale con un'idea tanto elegante quanto stravagante per l'epoca: creare un linguaggio per manipolare non numeri, ma concetti, relazioni e simboli.
Mentre il resto del mondo informatico vedeva la memoria dei computer come una sequenza rigida di caselle numeriche, McCarthy immagino un universo fatto di liste.
Nel suo linguaggio, tutto dai dati alle istruzioni stesse del programma era rappresentato come una lista tra parentesi.
Nacque così il LISP (LIst Processor).
Quando gli ingegneri del tempo posero gli occhi per la prima volta su un sorgente LISP, la reazione fu di puro smarrimento.
Il codice appariva come una foresta impenetrabile di parentesi nidificate:
(defun fattoriale (n) (if (<= n 1) 1 (* n (fattoriale (- n 1)))))Sembrava un linguaggio alieno, astratto, privo del legame diretto con l'hardware a cui tutti erano abituati.
I detrattori arrivarono persino a scherzare dicendo che LISP fosse l'acronimo di "Lots of Insipid and Stupid Parentheses" (un sacco di parentesi insipide e stupide).
Ma dietro quella foresta di parentesi si nascondeva una potenza matematica e concettuale rivoluzionaria.
LISP introdusse concetti che all'epoca sembravano pura fantascienza:
- Il codice è dato, il dato è codice: In LISP, un programma può modificare o scrivere altro codice LISP mentre è in esecuzione. Il software non era più una struttura statica, ma un organismo vivo capace di evolversi.
- La Garbage Collection: McCarthy dovette inventare un sistema automatico per liberare la memoria non più utilizzata dal programma. Un'innovazione gigante che gli altri linguaggi avrebbero adottato solo decenni più tardi.
- La ricorsione elegante: LISP permetteva di definire problemi complessi esprimendoli in termini di se stessi, una caratteristica perfetta per esplorare alberi di decisioni e percorsi logici.
LISP divenne istantaneamente la lingua ufficiale dell'Intelligenza Artificiale. Dai laboratori di Stanford al MIT, tutti i primi grandi progetti di ragionamento automatico, dimostrazione di teoremi e comprensione del linguaggio naturale vennero scritti in LISP. Per decenni, lavorare nell'IA significava inevitabilmente pensare in LISP.
L'eredità di questo linguaggio è monumentale. Anche se oggi non è più il linguaggio principale sul mercato, la sua anima vive ovunque. Concetti come le funzioni anonime (lambda), la gestione automatica della memoria e la metaprogrammazione, oggi pilastri di linguaggi come Python, JavaScript, Swift e Rust, sono stati tutti concepiti quasi settant'anni fa da John McCarthy con un foglio, una matita e una cascata di parentesi.
Tag: #AppuntamentoConLaStoria #Informatica #Programmazione #LISP















