← Tutti gli episodi
Copertina di Un'idea strana: i tipi che spariscono
Stagione 46 · Episodio 001

Un'idea strana: i tipi che spariscono

7 settembre 2026 4:55
0:00 4:55

Ciao, e benvenuto nella prima puntata della quarantaseiesima stagione di questo podcast. Nella scorsa stagione abbiamo raccontato JavaScript, il linguaggio, e verso la fine abbiamo incontrato TypeScript, lo strato che gli aggiunge i tipi. Oggi cominciamo un viaggio dentro TypeScript, per capirlo davvero. E parto dalla cosa più strana e fondamentale, quella che, una volta capita, fa quadrare tutto il resto: i tipi di TypeScript esistono solo mentre scrivi. Prima che il codice giri, spariscono del tutto.

Partiamo da questa idea sorprendente, perché ribalta le aspettative. TypeScript non è un linguaggio che gira. Fermati un attimo su questa frase, perché è controintuitiva. Niente di quello che scrivi in TypeScript viene mai eseguito come tale. C'è un programma, chiamiamolo il correttore, che legge il tuo codice, controlla che le forme delle cose abbiano senso, e poi butta via tutti i tipi, lasciando puro JavaScript. È quel JavaScript, senza più un solo tipo, a girare davvero. I tipi sono una conversazione che hai con un controllore mentre scrivi, un'impalcatura che viene smontata prima che l'edificio apra al pubblico.

Voglio spiegarti perché sia stato progettato così, perché ha una logica precisa. Ricordi cosa abbiamo detto la scorsa stagione? I tipi non entreranno mai dentro JavaScript, e JavaScript non si può cambiare: è uno standard che deve restare com'è. Allora TypeScript ha scelto l'unica strada possibile: lavorare a fianco, non dentro. Aggiunge uno strato di controllo che non lascia traccia quando il codice viene eseguito. Non modifica come gira nulla: si limita a guardare mentre scrivi, a dire ha senso oppure no, e poi si fa da parte, sparendo. Far girare TypeScript significa, in fondo, togliere i tipi e far girare il JavaScript che c'è sotto.

Voglio farti vedere le conseguenze di questa scelta, perché sono profonde. Da questa idea, che i tipi svaniscono prima di girare, discende quasi tutto il resto. Discende che TypeScript ha potuto essere adottato senza cambiare il modo in cui girava alcunché: era solo un controllo in più, prima. Discende che il correttore è, appunto, solo un correttore: non riscrive il tuo programma, lo esamina e poi si ritira. E discende, cosa importantissima che vedremo più avanti, che i tipi non possono proteggerti mentre il codice gira davvero: quando arrivano dati dal mondo esterno, da una rete o da un utente, arrivano senza tipo, e il correttore, che ormai se n'è andato, non c'è più a controllarli. Ma andiamo con ordine.

Voglio darti la lente di questa stagione, perché tiene insieme tutto. Ecco come ti chiedo di pensare a TypeScript per dieci puntate: è uno strato di pensiero steso sopra JavaScript. Controlla la forma delle cose prima che girino, e poi svanisce. Baratta la perfezione assoluta per l'utilità concreta, come vedremo. E trasforma il tuo editor in un partner che conosce il tuo codice e ti salva mentre scrivi. Non è un linguaggio che sostituisce JavaScript: è un modo di ragionare su JavaScript, reso controllabile da una macchina, che poi si toglie di mezzo lasciando girare il linguaggio di sempre.

Voglio segnare la differenza con la scorsa stagione, perché è netta. La stagione precedente parlava del linguaggio che gira, JavaScript, del suo carattere e del suo motore. Questa stagione parla dello strato di controllo che svanisce, TypeScript, del suo modo di pensare. Uno è la sostanza che viene eseguita; l'altro è il pensiero che la accompagna mentre la scrivi, e poi si dissolve. Sono due cose diverse, che convivono: TypeScript non vive senza JavaScript sotto, e JavaScript non sa nemmeno che TypeScript esiste. Il primo è il correttore attento; il secondo, lo scrittore che alla fine resta solo sulla pagina.

Voglio anticiparti dove andremo, perché il viaggio ha una mappa. Nelle prossime puntate vedremo il correttore che lavora nel tuo editor mentre scrivi, il vero regalo quotidiano. Poi il suo modo peculiare di decidere quando due cose sono dello stesso tipo, guardando la forma e non il nome. I tipi che non scrivi, dedotti da soli. Il modo in cui rende visibile ciò che potrebbe mancare. Il cursore della severità, che scegli tu. E, con onestà, perché a volte mente apposta, quanto è potente il suo sistema di tipi, e dove sta il suo prezzo. Un passo alla volta.

Per oggi ci fermiamo qui. Abbiamo messo la prima pietra, ed è la più strana: i tipi di TypeScript esistono solo mentre scrivi, e spariscono prima che il codice giri. TypeScript non è un linguaggio che gira: è un correttore che legge, controlla le forme, e poi butta via i tipi, lasciando puro JavaScript da eseguire. È stato progettato così perché JavaScript non si può cambiare: TypeScript lavora a fianco, non dentro, e non lascia traccia a runtime. Da qui discende tutto: l'adozione facile, il correttore che solo esamina, e il fatto che i tipi non ti proteggono dal mondo esterno. La lente: uno strato di pensiero che controlla la forma e poi svanisce. Nella prossima puntata vediamo il regalo quotidiano: il correttore che lavora mentre scrivi. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.