Ciao, e benvenuto nella decima e ultima puntata della ventesima stagione. Abbiamo attraversato tutta la storia dei linguaggi di programmazione: dai numeri grezzi della macchina ai nomi, dal grande salto ad alto livello alla struttura, dai modi di pensare a oggetti e a funzioni fino al terreno comune e alla protezione. Oggi tiriamo le somme, ricomponiamo la grande immagine di questa scalata, e guardiamo lontano: a cosa resta, come sempre, quando i dettagli dei singoli linguaggi sbiadiscono. Ed è anche l'ultima puntata di una ventesima stagione, un piccolo traguardo che voglio salutare con te.
Ricomponiamo prima di tutto la grande scalata, perché ora possiamo vederla tutta intera, ed è uno spettacolo. Siamo partiti dal fondo, dai numeri puri della macchina, la sua unica lingua nativa. Siamo saliti ai nomi, con la nascita del traduttore. Abbiamo fatto il grande salto all'alto livello, esprimendo idee intere invece di passi minuti. Abbiamo messo ordine con la struttura. Abbiamo trovato modi diversi di pensare, a oggetti e a funzioni. Abbiamo cercato terreni comuni per unire la varietà. E abbiamo scelto, sempre più, di farci proteggere dal linguaggio. Gradino dopo gradino, siamo saliti dai numeri della macchina fino a un modo di esprimerci sempre più vicino al pensiero umano. È il racconto di una lunga, paziente scalata verso l'alto.
Fermiamoci ad apprezzare i pochi temi profondi che hanno guidato tutta questa storia, perché valgono più di ogni linguaggio specifico. Il primo: l'astrazione, il salire verso l'alto, avvicinare ciò che scriviamo al modo umano di pensare, lasciando alla macchina il compito di colmare la distanza. Il secondo: il compromesso eterno, tra la vicinanza alla macchina, con il suo controllo e la sua velocità, e la vicinanza al pensiero, con la sua comodità e sicurezza. Il terzo: i modi di pensare, le diverse lenti, a oggetti, a funzioni, con cui organizzare il ragionamento. Il quarto: i linguaggi come strumenti di pensiero, che ci danno i concetti con cui pensare. Questi temi, l'astrazione, il compromesso, le lenti, gli strumenti di pensiero, sono l'anima di tutta la storia.
Voglio soffermarmi sull'idea dei linguaggi come strumenti di pensiero, perché è forse la più profonda. Un linguaggio non è solo un modo per dire alla macchina cosa fare: è un modo per pensare. I concetti che ti offre plasmano il modo in cui vedi i problemi e immagini le soluzioni. Chi pensa in oggetti vede il mondo come entità che interagiscono; chi pensa in funzioni lo vede come trasformazioni di dati. Imparare un nuovo modo di pensare non ti dà solo un nuovo strumento: ti dà nuovi occhi. Per questo conoscere linguaggi diversi ti rende un pensatore più ricco.
Devo essere onesto, come sempre, su una domanda che tutti si pongono: qual è il linguaggio migliore? E la risposta onesta è: non esiste. Non c'è un linguaggio migliore in assoluto, come non c'è un attrezzo migliore in assoluto in una cassetta. C'è il linguaggio giusto per un certo problema, per certe priorità, per un certo contesto. Uno è ottimo dove serve velocità estrema, un altro dove serve rapidità di sviluppo, un altro dove serve sicurezza, un altro dove serve semplicità. La domanda giusta non è quale sia il migliore, ma quale sia il più adatto a ciò che devi fare, ai valori che contano per te. E, come per gli strumenti, il più nuovo o il più di moda non è automaticamente il migliore: molti linguaggi vecchi di decenni sono ancora vivissimi e insostituibili, perché le loro idee erano profonde.
E arrivo alla lezione più profonda, quella che lega questa stagione a tutto il podcast. Sotto l'infinita varietà di linguaggi, di sintassi diverse, di parole chiave e regole, ci sono pochi concetti profondi che si ripetono: l'astrazione, la traduzione, la struttura, i modi di pensare, il compromesso tra controllo e sicurezza. E qui vale la solita, potente verità di questo podcast: se capisci questi concetti profondi, invece di memorizzare la sintassi di un singolo linguaggio, allora imparare un nuovo linguaggio diventa facile e veloce, perché ne riconosci le idee sotto, e ti orienti subito. I dettagli cambiano da un linguaggio all'altro, ma le idee di fondo sono le stesse. Capisci quelle, e nessun linguaggio ti spaventerà mai.
Voglio lasciarti con uno sguardo verso l'alto, perché la scalata non è finita. Continuiamo a salire: si cercano modi sempre più vicini al pensiero umano di esprimere ciò che vogliamo dalle macchine, sempre più capaci di colmare da sole la distanza. La direzione è sempre la stessa: avvicinare la macchina all'uomo, permetterci di dire ciò che vogliamo in modo sempre più naturale, lasciando alla macchina il lavoro di tradurlo nei suoi numeri. È una scalata iniziata con file di numeri scritti a mano e che prosegue ancora oggi, verso l'alto. Ed è bello pensare che siamo, ora, un gradino di quella salita che continua.
Per oggi, e per questa ventesima stagione, ci fermiamo qui. La storia dei linguaggi è la scalata di una lunga scala, dai numeri della macchina verso il pensiero umano, guidata da pochi temi profondi: l'astrazione, il compromesso tra controllo e sicurezza, i diversi modi di pensare, i linguaggi come strumenti di pensiero. Non esiste il linguaggio migliore, solo quello adatto; e capire i concetti profondi vale più che memorizzare qualsiasi sintassi, perché rende ogni linguaggio facile da imparare. La scalata continua, verso l'alto. Grazie di cuore per avermi accompagnato in questo viaggio, e per queste venti stagioni insieme. Abbi cura di te, continua a salire, e a rileggerci presto.