Ciao, e benvenuto nella nona puntata della sessantottesima stagione. Siamo quasi alla fine, e arriva la domanda scomoda, quella che forse ti ronza in testa da qualche puntata. Tutta questa roba, stato, passo, regole, dimostrazioni: a te che programmi tutti i giorni, quanta ne serve davvero? È giusto studiarla a fondo, o basta l'intuito? Oggi provo a dare ragione a entrambe le risposte, perché entrambe ne hanno.
Partiamo dalle ragioni di chi dice: mi serve pochissimo. E sono ragioni solide. Tu, per lavorare benissimo, non scrivi specifiche formali di linguaggi. Non dimostri teoremi sui tuoi programmi. L'intuizione operativa che hai già, quella che ti fa leggere un codice e capire cosa fa, ti basta per costruire cose che funzionano, ogni giorno. La matematica precisa della semantica è il mestiere di chi progetta linguaggi, di chi scrive compilatori, di chi lavora sulla verifica. Per la stragrande maggioranza degli sviluppatori, quel formalismo non entrerà mai nel lavoro quotidiano. E fingere il contrario sarebbe disonesto.
Vediamo ora le ragioni dell'altra parte, di chi dice: ti serve più di quanto credi. Perché una cosa è avere un'intuizione vaga, un'altra è avere un modello esplicito. Chi ha in testa, chiaro e nominato, il modello di stato e passo, fa debug meglio: sa esattamente cosa cercare, la fotografia sbagliata o il passo sbagliato. Legge i messaggi d'errore capendo che raccontano di uno stallo. Affronta la concorrenza sapendo che il significato è un ventaglio di intrecci. Impara un linguaggio nuovo in fretta, perché sa quali domande fargli: come valuta, in che ordine, dove tace. Non è la matematica formale a fare la differenza, è il modello mentale reso esplicito ad affilare tutto questo.
Nota che c'è tutto un ventaglio di modi di studiare il significato, non solo quello che abbiamo visto. Il nostro, l'approccio operazionale, definisce il significato dicendo come si esegue: il più intuitivo, il più vicino a come pensa un programmatore. Ma ce n'è un altro che descrive il significato come un oggetto matematico puro, una funzione dall'ingresso all'uscita, ignorando del tutto i passi. E ce n'è un terzo che definisce il significato attraverso ciò che puoi dimostrare: cosa è vero prima e cosa è garantito dopo. Tre lenti diverse sulla stessa domanda, cos'è il significato, ognuna utile per scopi diversi. Sapere che esistono ti dice che la tua non è l'unica strada, e che la scelta dipende da cosa vuoi ottenere.
Voglio provare a tirare le fila, perché la sintesi conta più delle due tifoserie. La verità è che non ti serve la matematica formale, ma ti serve moltissimo il modello mentale. Non devi saper scrivere le regole con la notazione giusta, ma devi aver interiorizzato che un'esecuzione è stato più passo, che le regole a volte tacciono e a volte lasciano scegliere, che un errore è uno stallo. Ti serve la forma del pensiero, non il suo abito formale. E questa forma la puoi avere anche senza aver mai aperto un libro di teoria: l'importante è averla chiara, non decorata di simboli.
C'è un filo che percorre questo podcast da tante stagioni, e torna anche qui. Quasi mai la risposta giusta a quanto mi serve una certa competenza è tutto o niente. Non ti serve diventare un teorico dei linguaggi, e non ti serve nemmeno restare all'intuito grezzo. Ti serve la dose giusta: abbastanza modello esplicito da ragionare con lucidità, senza il peso di un formalismo che non useresti. La maturità professionale è quasi sempre trovare quel punto di mezzo, per ogni cosa che impari: prendere il potere di uno strumento senza pagarne tutto il costo.
Ecco l'immagine che mi resta. La teoria della semantica è come lo studio dell'anatomia per chi fa sport. Un atleta non pensa a quali muscoli attiva mentre corre: sarebbe paralizzante. Ma un po' di anatomia, quella giusta, gli fa capire perché un movimento funziona, dove ci si fa male, come allenarsi meglio. Non gli serve la laurea in medicina, gli serve il modello di come è fatto il corpo che usa. Tu sei l'atleta, e il tuo corpo è il codice che esegui: un po' di anatomia della semantica ti fa correre meglio, senza farti smettere di correre.
Resta la lezione di fondo, ed è la più utile per tutta la tua carriera. Davanti a ogni corpo di teoria, la domanda saggia non è devo saperlo tutto o posso ignorarlo. È quale parte di questo mi cambia il modo di lavorare, e quale posso lasciare agli specialisti. La competenza che paga di più è quasi sempre quella a metà strada: capire il modello, senza dover diventare chi quel modello lo costruisce.
Per oggi ci fermiamo qui. Abbiamo affrontato la domanda scomoda: quanta teoria della semantica ti serve davvero. Da una parte, pochissima: non scrivi specifiche formali né dimostri teoremi, e l'intuizione operativa che hai già basta a costruire cose che funzionano. Dall'altra, più di quanto credi: un modello esplicito di stato e passo ti fa debuggare meglio, leggere gli errori, capire la concorrenza, imparare in fretta i linguaggi nuovi. La sintesi: non ti serve la matematica formale, ti serve il modello mentale, la forma del pensiero senza il suo abito formale. Esistono più lenti sul significato, e a te basta averne una chiara. Come un po' di anatomia per un atleta. La lezione: chiediti quale parte di una teoria ti cambia il modo di lavorare, e quale puoi lasciare agli specialisti. Nella prossima e ultima puntata: capire è eseguire. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.