Ciao, e benvenuto nella seconda puntata della sessantaquattresima stagione. Oggi entriamo nel cuore della mentalità giusta per capire l'assembly, e forse per capire i computer in generale. È un'idea semplice ma profonda, che va contro tutto quello che immaginiamo. Il processore, questo oggetto capace di prodezze incredibili, in realtà è di una stupidità sconcertante. E oggi ti mostro perché proprio questa stupidità è il suo più grande segreto.
Partiamo da cosa sa fare davvero un processore, perché è un elenco cortissimo. Se guardassimo il suo intero repertorio, resteremmo delusi da quanto è misero. Sa spostare un numero da un posto a un altro. Sa fare qualche conto elementare, come sommare o sottrarre due numeri. Sa confrontare due numeri e dire quale è più grande, o se sono uguali. E sa saltare, cioè andare a eseguire istruzioni che stanno in un altro punto. Fine. Con qualche variazione, è più o meno tutto qui. Nessuna di queste operazioni, presa da sola, impressionerebbe un bambino delle elementari.
Voglio insistere su cosa non sa fare, perché è ancora più istruttivo. Il processore non sa cosa sia un ciclo. Non sa cosa sia una funzione. Non sa cosa sia un testo, un'immagine, un cliente, una data. Non ha alcun concetto di ciò che sta facendo. È come un esecutore bendato, che riceve ordini scritti su cartelline, uno dopo l'altro, e li esegue alla lettera senza avere la più pallida idea del quadro d'insieme. Sposta questo numero qui. Somma quei due. Se questo è più grande di quello, vai alla cartellina numero mille. Esegue, e passa alla prossima. Cieco, ubbidiente, instancabile.
Ora arriva la parte sorprendente, il vero segreto. Come può un simile idiota far girare un intero mondo digitale? La risposta è una sola parola: velocità. Un processore moderno esegue miliardi di queste operazioni banali ogni secondo. Miliardi. È una scala che la nostra mente non riesce nemmeno a immaginare. Quel gesto ridicolo, sommare due numeri, ripetuto miliardi di volte al secondo e combinato in sequenze lunghissime, diventa capace di calcolare la traiettoria di una sonda spaziale o di mostrarti un film. La potenza non sta nel singolo passo, ma nella quantità inumana di passi. Immagina di dover fare tu, a mano, un miliardo di piccole somme: ti ci vorrebbero anni interi, senza dormire mai. Il processore le fa in un secondo, e poi le rifà, un secondo dopo l'altro, per ore. È questo abisso di velocità a trasformare la banalità in prodigio.
Voglio darti l'immagine che rende chiara questa idea, perché la fissa. Immagina un addetto in un magazzino sterminato, ma un addetto senza alcuna iniziativa, che sa fare solo gesti minimi e segue cartelline d'ordine una alla volta. Prendi il numero dallo scaffale tremila. Sommagli cinque. Rimettilo sullo scaffale tremila. Ognuno di questi ordini, da solo, è banale. Ma ora immagina che quest'addetto sia così veloce da svolgere milioni di cartelline in un battito di ciglia. Un intero inventario complesso, tutta la contabilità di un'azienda, può emergere da questa raffica di gesti idioti ma fulminei. L'addetto non capisce niente di contabilità: esegue e basta. È esattamente il processore.
Voglio dirti perché questa idea è liberatoria, perché lo è davvero. Quando accetti che il processore è stupido, smetti di essere intimidito. Un computer non è una mente misteriosa: è un esecutore banale e velocissimo. Ogni cosa complicata che fa non è frutto di intelligenza, ma di tante piccole operazioni semplici messe in fila da qualcuno, cioè da chi ha scritto il programma. Questo ti dà un potere enorme: se capisci i pochi mattoncini elementari, capisci in linea di principio qualunque cosa il computer faccia. Non c'è magia nascosta, non c'è una parte inconoscibile: c'è solo una montagna di semplicità. Ogni funzione elegante, ogni effetto sofisticato, se lo smonti abbastanza, si riduce a questi quattro o cinque gesti elementari, e a nient'altro.
Voglio darti la lezione generale, perché va oltre i computer. La lezione è che una complessità straordinaria può nascere da regole semplicissime, ripetute su vasta scala. Non serve che ogni pezzo sia intelligente, perché sia intelligente il tutto. Lo vediamo in natura, nelle formiche che, ciascuna quasi cieca, costruiscono formicai perfetti seguendo poche regole. Lo vediamo nel processore. È un'idea che rovescia il nostro istinto: tendiamo a cercare l'intelligenza nel singolo, mentre spesso essa vive solo nell'insieme, nella scala, nella ripetizione.
Per oggi ci fermiamo qui. Abbiamo abbracciato la giusta mentalità: il processore è stupido, e questo è il suo segreto. Il suo intero repertorio è cortissimo: sposta un numero, fai un conto elementare, confronta, salta. Non sa cosa siano cicli, funzioni, clienti: è un esecutore bendato che segue cartelline una alla volta, senza capire nulla. Il segreto è la velocità: miliardi di gesti banali al secondo, come un addetto fulmineo in un magazzino sterminato. E questo è liberatorio: dietro ogni prodezza non c'è intelligenza misteriosa, ma una montagna di semplicità messa in fila. La lezione: la complessità può nascere da regole semplici, ripetute su grande scala. Nella prossima puntata: registri e memoria, dove vivono i numeri. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.