← Tutti gli episodi
Copertina di Serve ancora imparare l'assembly?
Stagione 64 · Episodio 009

Serve ancora imparare l'assembly?

19 settembre 2026 4:48
0:00 4:48

Ciao, e benvenuto nella nona puntata della sessantaquattresima stagione. Siamo quasi alla fine, e oggi affronto la domanda che forse ti frulla in testa da otto puntate. Tutto molto affascinante, ma serve davvero, oggi, imparare l'assembly? Ne vale la pena, nel mondo dei linguaggi comodi e dei compilatori geniali? La risposta onesta è: dipende da cosa intendi per imparare. Oggi ragioniamo insieme, con equilibrio, su questa domanda.

Partiamo dalle ragioni per dire di no, perché sono forti e vanno rispettate. Chi sostiene che l'assembly sia inutile ha argomenti solidi. Primo: quasi nessuno, oggi, scrive interi programmi in assembly. Sarebbe lentissimo da fare e pieno di errori. Secondo: il compilatore, come abbiamo visto, di solito produce codice migliore di quello che scriveresti a mano. Il tuo sforzo eroico verrebbe battuto da uno strumento automatico. Terzo: è legato a una famiglia specifica di processori, quindi poco portabile. E quarto: per il novantanove per cento del lavoro quotidiano, dai siti alle applicazioni gestionali, non ti servirà mai. È una competenza di nicchia, dicono, un lusso da accademici.

Ma ci sono ragioni altrettanto forti per dire di sì, e sono più sottili. Chi difende il valore dell'assembly non sostiene che tu debba scriverlo, ma che tu debba saperlo leggere e capire. E le ragioni sono profonde. Quando qualcosa va storto nel modo più oscuro, scendere a questo livello a volte è l'unico modo per capire cosa sta davvero succedendo. Nei rari punti in cui la velocità conta in modo estremo, capire cosa fa la macchina permette di spremere prestazioni che altrimenti non otterresti. Chi si occupa di sicurezza deve leggere il codice macchina per capire come funziona un attacco o un programma malevolo. E chi lavora su dispositivi minuscoli, con risorse strettissime, ci sbatte contro ogni giorno.

Voglio darti quella che secondo me è la ragione più bella, perché va oltre l'utilità pratica. Al di là dei casi specifici, c'è un motivo più grande per conoscere questo livello: ti rende un programmatore migliore a ogni altro livello. Quando hai visto con i tuoi occhi che una variabile è solo un numero in un cassetto, che un ciclo è un salto, che una funzione appoggia foglietti su una pila, smetti di programmare per superstizione e cominci a programmare con consapevolezza. Capisci perché certe scelte sono più veloci, perché la memoria conta, perché quel bug ha quella forma. Non è la conoscenza a servirti direttamente: è il modello mentale che ti dà, e che porti con te ovunque.

Voglio darti l'immagine che rende chiara questa idea, perché la fissa. Pensa a un pilota di auto da corsa. Nessuno gli chiede di costruire il motore, e nemmeno di ripararlo in pista: per quello ci sono i meccanici, come i compilatori. Ma un grande pilota capisce cosa succede sotto il cofano: sente come risponde il motore, sa perché in una certa curva conviene una certa marcia, percepisce i limiti della macchina. Quella comprensione profonda non gli serve per fare il meccanico, ma lo rende un pilota straordinario. Conoscere l'assembly è così: non per costruire motori, ma per guidare molto, molto meglio.

Voglio darti la sintesi equilibrata, perché è la posizione più matura. La verità sta nel mezzo, e dipende da chi sei e cosa fai. Scrivere assembly a mano, per la stragrande maggioranza, è tempo sprecato: lascia fare al compilatore. Ma saperlo leggere, e soprattutto capire il modello di macchina che c'è sotto, è un investimento che ripaga per tutta la carriera. Come per tanti strumenti di cui abbiamo parlato in passato, non esiste un dovere assoluto uguale per tutti: c'è ciò che serve al tuo percorso. Se fai siti gestionali, ti basta la consapevolezza generale. Se studi i sistemi, la sicurezza, le prestazioni estreme, allora scendi eccome.

Voglio darti la lezione generale, perché è la più utile di tutte. La lezione è che c'è una differenza enorme tra saper fare una cosa e capire come funziona. Non devi saper costruire tutto ciò che usi, sarebbe impossibile. Ma capire, anche a grandi linee, cosa c'è sotto gli strumenti su cui poggi il tuo lavoro ti rende più solido, più autonomo, meno in balìa della magia. La comprensione delle fondamenta non è mai tempo perso: è ciò che distingue chi usa uno strumento da chi lo padroneggia davvero.

Per oggi ci fermiamo qui. Ci siamo chiesti se serva ancora imparare l'assembly. Le ragioni per il no sono valide: quasi nessuno lo scrive, il compilatore fa meglio, è poco portabile, e per il lavoro quotidiano non serve quasi mai. Ma le ragioni per il sì sono profonde: leggerlo aiuta nei bug più oscuri, nelle prestazioni estreme, nella sicurezza, nei dispositivi minuscoli. E soprattutto, capire questo livello ti rende migliore a ogni altro livello, come un pilota che sa cosa c'è sotto il cofano. La sintesi: non scriverlo, ma capiscilo, secondo quanto serve al tuo percorso. La lezione: c'è una differenza enorme tra saper fare una cosa e capire come funziona. Nella prossima e ultima puntata: la macchina nuda, e perché guardarla. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.