← Tutti gli episodi
Copertina di Non esistono i cicli ne' le funzioni: solo salti
Stagione 64 · Episodio 005

Non esistono i cicli ne' le funzioni: solo salti

19 settembre 2026 4:59
0:00 4:59

Ciao, e benvenuto nella quinta puntata della sessantaquattresima stagione. Oggi arriva la puntata più spiazzante della stagione, quella che smonta le nostre certezze più care. Nei linguaggi che usiamo tutti i giorni ci sono strutture bellissime: i cicli che ripetono, le condizioni che decidono, le funzioni che organizzano. Ebbene: quaggiù, nel mondo della macchina, niente di tutto questo esiste davvero. Oggi ti mostro una verità nuda: non esistono i cicli né le funzioni, esistono solo salti.

Partiamo dall'unico strumento di controllo che il processore possiede. Ricordi il segnaposto, che indica la prossima istruzione? Di solito avanza in ordine, una riga dopo l'altra. L'unica cosa che il processore sa fare, per cambiare questo scorrere ordinato, è il salto: un'istruzione che dice al segnaposto vai a una certa riga, invece di proseguire alla successiva. Tutto qui. Non c'è nient'altro. Nessuna struttura elegante, nessun costrutto raffinato: solo la possibilità brutale di spostare il dito su un'altra riga. Da questo unico, umile mattoncino, nasce tutto ciò che credevamo complicato.

Vediamo come nasce una decisione, un se. Nei nostri linguaggi scriviamo se una cosa è vera, fai questo, altrimenti fai quest'altro. Quaggiù, questa eleganza si riduce a due gesti che già conosciamo: prima confronta due numeri, poi salta solo se il confronto è andato in un certo modo. Se il saldo è maggiore di zero, salta alla riga che fa il pagamento; altrimenti, prosegui dritto verso la riga che dà errore. La decisione non è un concetto: è un confronto seguito da un salto condizionato, cioè un salto che avviene solo a certe condizioni. Tutta la logica dei nostri programmi, ogni bivio, si costruisce così.

Ora guarda come nasce un ciclo, una ripetizione. Nei linguaggi comodi diciamo ripeti questa cosa cento volte, ed è magnifico. Quaggiù non esiste niente del genere. Un ciclo è semplicemente un salto all'indietro: esegui un blocco di istruzioni, poi salta indietro, all'inizio del blocco, e rieseguilo. Per non ripetere all'infinito, ci metti dentro un contatore e un confronto: a ogni giro controlli se hai già fatto abbastanza volte, e se sì, invece di saltare indietro, prosegui e ne esci. Un ciclo, quella cosa che sembrava un concetto a sé, è solo un salto indietro con un confronto che decide quando smettere.

Voglio darti l'immagine che rende chiara questa idea, perché la fissa. Pensa a un libro-gioco, di quelli in cui alla fine di ogni pagina c'è scritto se scegli di aprire la porta, vai a pagina quaranta; se scegli di scappare, vai a pagina dodici. Non leggi il libro in ordine: salti da una pagina all'altra seguendo le istruzioni. Ecco, il programma in assembly è tutto così. Non ci sono capitoli con un titolo, non ci sono sezioni ordinate: c'è solo una sequenza di pagine, e ogni tanto un ordine che dice vai a pagina tale. I cicli sono vai a una pagina precedente; le decisioni sono vai a pagina tale solo se accade questo. Il libro intero è tenuto insieme da questi rimandi.

Voglio essere onesto sul prezzo di tutto questo, perché è alto. Costruire la logica solo con i salti è potentissimo, ma anche fragile e pericoloso. Un programma fatto di salti sparsi ovunque, che rimbalzano avanti e indietro senza ordine, diventa presto un groviglio impossibile da seguire, un labirinto in cui ci si perde. È il celebre codice a spaghetti, dove i fili si annodano e nessuno capisce più il percorso. Ed è proprio per fuggire da questo caos che, salendo di livello, sono stati inventati i cicli e le funzioni con un nome: non perché la macchina li capisca, ma perché la nostra mente ne ha un disperato bisogno per non impazzire. Le strutture eleganti sono gabbie che imponiamo al caos dei salti.

Voglio darti la lezione generale, perché è profonda. La lezione è che le strutture ordinate che amiamo, nel codice come nella vita, non sono la realtà di fondo: sono impalcature che costruiamo sopra una realtà molto più grezza e disordinata, per poterla governare. Sotto un bel discorso ben strutturato ci sono pensieri che saltano di qua e di là; sotto un'organizzazione ordinata c'è il caos delle relazioni umane. L'ordine è una nostra conquista faticosa, non un dato di partenza. E capirlo ci rende più umili, e più bravi a costruire quelle impalcature con cura.

Per oggi ci fermiamo qui. Abbiamo smontato le nostre certezze. Quaggiù non esistono cicli, condizioni e funzioni: esiste un solo strumento, il salto, che sposta il segnaposto su un'altra riga. Una decisione è un confronto seguito da un salto condizionato. Un ciclo è un salto all'indietro con un contatore che decide quando uscire. Come un libro-gioco fatto solo di vai a pagina tale, senza capitoli. Il prezzo è alto: solo salti fanno presto un labirinto, il codice a spaghetti, ed è per questo che ai piani alti abbiamo inventato le strutture ordinate, per la nostra mente, non per la macchina. La lezione: l'ordine che amiamo è un'impalcatura che costruiamo sopra il caos. Nella prossima puntata: la pila, come la macchina ricorda dove tornare. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.