← Tutti gli episodi
Copertina di Il grande salto: dire cosa fare, non come lo fa la macchina
Stagione 20 · Episodio 003

Il grande salto: dire cosa fare, non come lo fa la macchina

29 agosto 2026 5:25
0:00 5:25

Ciao, e benvenuto nella terza puntata della ventesima stagione. Nella scorsa puntata abbiamo mosso il primo passo, dai numeri ai nomi, e soprattutto abbiamo scoperto l'idea del traduttore. Oggi raccontiamo il grande salto, quello che più di ogni altro trasformò la programmazione e la rese accessibile: il passaggio ai linguaggi ad alto livello. Un balzo enorme sulla scala, che ci allontanò finalmente dai minuscoli passi della macchina e ci avvicinò al modo umano di ragionare. Oggi capiamo questo salto e perché cambiò tutto.

Ripartiamo da dov'eravamo rimasti, per misurare la distanza del salto. Fino a quel momento, anche scrivendo con i nomi, il programmatore pensava ancora come la macchina: un nome per ogni minuscola istruzione elementare, e i programmi erano lunghe sequenze di questi passi minuti, uno dopo l'altro. Per fare qualcosa di complesso, dovevi scomporlo in decine, centinaia di passettini elementari, e scriverli tutti a mano. Era come dover descrivere ogni singolo movimento muscolare per compiere un gesto, invece di dire semplicemente il gesto. Il pensiero restava frammentato nei minimi termini della macchina.

Il grande salto fu questo: e se potessimo scrivere in qualcosa di molto più vicino al modo in cui pensiamo noi, esprimendo idee intere invece di minuscoli passi? Invece di descrivere decine di passettini per calcolare una media, scrivere semplicemente qualcosa come calcola la media di questi numeri, in una forma vicina al linguaggio e alla matematica che gli umani conoscono. Invece di ordinare uno per uno i micro-movimenti della macchina, esprimere l'operazione che hai in mente, a un livello alto, umano. E lasciare che un traduttore molto più sofisticato si occupi di trasformare quella singola frase umana nelle decine di istruzioni elementari che la macchina dovrà eseguire.

Ecco la vera magia di questo salto, che voglio evidenziare: ora una sola frase che scrivi si traduce in tante istruzioni della macchina. Non più un nome per un'istruzione, come prima, ma un'espressione umana e sensata che il traduttore espande in tutti i minuti passi necessari. Il traduttore fa un lavoro enormemente più grande: prende il tuo pensiero espresso ad alto livello e lo scompone lui, per te, nei dettagli minuti che la macchina richiede. Tu pensi in grande, per idee; la macchina riceve in piccolo, per passettini; e il traduttore, in mezzo, colma un divario ormai molto ampio. Questo è ciò che chiamiamo un linguaggio ad alto livello: alto sulla scala, vicino al pensiero.

Voglio farti apprezzare l'enorme guadagno di produttività che questo portò, perché fu una rivoluzione. All'improvviso, per scrivere un programma, non dovevi più pensare come la macchina, scomponendo tutto nei suoi passi minimi: potevi pensare per idee, esprimere direttamente ciò che volevi ottenere. Un programma che prima richiedeva pagine e pagine di istruzioni minute poteva ora essere scritto in poche righe di espressioni ad alto livello, chiare e comprensibili. Si programmava molto più in fretta, con molti meno errori, e il codice era finalmente leggibile, quasi comprensibile anche a chi non conosceva i dettagli della macchina. La programmazione fece un balzo di potenza e di accessibilità senza precedenti.

C'è poi un secondo grande dono di questo salto, forse ancora più profondo, che riprende un tema della prima puntata: i programmi diventarono portabili, non più prigionieri di una macchina sola. Siccome ora scrivevi in una forma umana, alta, indipendente dai dettagli di una specifica macchina, lo stesso programma poteva essere fatto girare su computer diversi: bastava avere, per ciascun tipo di macchina, un traduttore che sapesse tradurre quel linguaggio umano nei numeri di quella particolare macchina. Scrivi una volta, in alto, e traduci per ogni macchina, sotto. Il programma si liberò finalmente dalle catene dell'hardware, diventando qualcosa che poteva vivere ovunque ci fosse un traduttore adatto. La libertà dalla singola macchina fu una conquista epocale.

Voglio collegare questo salto a un tema che percorre tutto il podcast, perché è la stessa idea sotto altra forma. Ricordi il potere di dire cosa vuoi, lasciando al sistema il compito del come? L'abbiamo incontrato con le basi di dati, con lo stato desiderato di Kubernetes. Il salto ai linguaggi ad alto livello è un parente stretto di quell'idea: smetti di dettare alla macchina ogni minimo passo, il come minuzioso, e ti limiti a esprimere ciò che vuoi ottenere, a un livello più umano, lasciando che il traduttore si occupi dei dettagli. È il continuo movimento dell'informatica verso l'alto: alzare il livello, esprimere l'intento invece dei passi, delegare il come alla macchina. Un'idea potente che ritroviamo ovunque.

Per oggi ci fermiamo qui. Il grande salto della storia dei linguaggi fu il passaggio all'alto livello: invece di scrivere nei minuscoli passi della macchina, esprimere idee intere in una forma vicina al linguaggio e alla matematica umana, lasciando che un traduttore sofisticato espanda ogni frase nelle molte istruzioni elementari necessarie. Fu una rivoluzione di produttività, perché si programmava per idee, in fretta e con meno errori, e di libertà, perché i programmi diventarono portabili su macchine diverse. È lo stesso movimento verso l'alto che troviamo in tutta l'informatica: esprimere l'intento, non i passi. Nella prossima puntata vediamo i due modi in cui avviene la traduzione: il traduttore e l'interprete. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.