← Tutti gli episodi
Copertina di Le parti buone, e la rete di sicurezza: i limiti e TypeScript
Stagione 45 · Episodio 009

Le parti buone, e la rete di sicurezza: i limiti e TypeScript

6 settembre 2026 5:31
0:00 5:31

Ciao, e benvenuto nella nona puntata della quarantacinquesima stagione. Nelle scorse puntate ho raccontato JavaScript con affetto, e se lo merita. Ma oggi, come sempre verso la fine, mettiamo sul tavolo la verità onesta, senza né demolire né difendere per riflesso. JavaScript ha difetti reali, per lo più congelati dalla sua storia. E il mondo, invece di lamentarsene soltanto, ci ha costruito sopra una rete di sicurezza. Oggi vediamo le parti buone, i limiti, e quello strato che oggi quasi tutti usano: TypeScript.

Partiamo dai difetti, con franchezza, perché vanno detti. Come diceva un libro famoso, JavaScript è un linguaggio con parti meravigliose avvolte attorno a parti goffe. La sua origine frettolosa, e la regola di non rompere mai il web, gli hanno lasciato in eredità stranezze e trappole: le conversioni che sorprendono, i comportamenti confusi, gli errori facili da non notare. Per un piccolo script, tutto questo va benissimo, non dà fastidio. Ma per un programma grande, costruito da una squadra in anni, quella morbidezza diventa un vero problema: un'intera categoria di errori che linguaggi più severi segnalerebbero subito, JavaScript li scopre solo quando si rompono, davanti all'utente.

Voglio presentarti la risposta del mondo, perché è la parte costruttiva. A questo dolore, la comunità ha risposto costruendo qualcosa: TypeScript. Attenzione, non è un linguaggio diverso, un rivale. È uno strato che si mette sopra JavaScript e gli aggiunge proprio la cosa che gli mancava: un modo di dichiarare e controllare i tipi prima che il codice giri. Così, l'errore del tipo hai passato del testo dove serviva un numero viene colto in anticipo, alla tua scrivania, mentre scrivi, e non in produzione, davanti a chi usa il programma. È JavaScript con una rete di sicurezza e un correttore di bozze. E, cosa fondamentale, alla fine si trasforma in JavaScript normale: gira ovunque giri JavaScript, cioè dappertutto.

Voglio spiegarti perché abbia vinto così nettamente, perché è un fatto ormai deciso. Perché TypeScript ha preso piede fino a diventare l'impostazione predefinita per i progetti seri? Perché tiene tutto ciò che di buono ha JavaScript, la sua diffusione ovunque, il suo immenso ecosistema di strumenti pronti, e insieme cura il suo dolore pratico più grande: quella morbidezza che faceva male quando le cose si fanno grandi. Non ti chiede di rinunciare al mondo di JavaScript: ti ci mette dentro una rete. Ed è interessante notare che i tipi, quelli che tanti vorrebbero, quasi certamente non arriveranno mai dentro JavaScript stesso: e allora questo strato che li aggiunge sopra è destinato a restare.

Voglio darti la sfumatura onesta, perché niente è gratis. Ma sarei disonesto se dicessi che i tipi sono gratis. Aggiungono una loro cerimonia, un passaggio in più, un po' di attrito: devi scrivere di più, e c'è un momento di preparazione prima di poter eseguire. Per un piccolo script di poche righe, sono un peso eccessivo, un cappotto pesante per una passeggiata breve. Torna, ancora una volta, la bussola di sempre: lo strumento giusto dipende dalla forma del problema. Per un programma grande, di squadra, che dura negli anni, la rete di sicurezza vale ampiamente il suo prezzo. Per un giochino veloce, forse no. E c'è pure una vecchia saggezza: usa un linguaggio potente e stravagante scegliendo apposta le sue parti buone, ed evitando i suoi tranelli, invece di usarlo tutto.

Voglio darti l'immagine che rende chiara questa idea, e chiudere con serenità. TypeScript è come mettere delle protezioni e un correttore ortografico su un veicolo veloce, flessibile, un po' selvaggio. Rinunci a un pizzico di libertà, e guadagni tanta sicurezza. Per un viaggio lungo, con passeggeri a bordo, è proprio il patto che vuoi. Per un giro veloce intorno all'isolato, magari no. E la conclusione onesta è questa: i difetti di JavaScript sono reali, e per lo più congelati dalla storia, ma l'ecosistema attorno ha fatto crescere le sue cure, e il linguaggio continua a migliorare. Non devi amare ogni sua parte per costruirci bene: devi sapere di quali parti fidarti.

Voglio trarre la lezione generale, perché è la più ripetuta, da una nuova angolazione. Ecco la lezione: nessuno strumento è senza difetti, e la maturità non è fingere che il tuo sia perfetto. La maturità è conoscere i suoi bordi taglienti, e costruirci intorno le protezioni. E spesso, come qui, l'ecosistema che cresce attorno a uno strumento imperfetto ma essenziale diventa importante quanto lo strumento stesso: le cure, gli strumenti, le buone pratiche, sono parte del quadro tanto quanto il linguaggio. Non si sceglie tra uno strumento perfetto e uno difettoso: si sceglie di conoscere i difetti, e di attrezzarsi.

Per oggi ci fermiamo qui. La verità onesta su JavaScript: ha difetti reali, ereditati dall'origine frettolosa e congelati dalla regola di non rompere il web, e la sua morbidezza, innocua nel piccolo, diventa un problema nei programmi grandi. La risposta del mondo è TypeScript: non un rivale, ma uno strato che aggiunge il controllo dei tipi prima che il codice giri, cogliendo gli errori alla scrivania e non in produzione, per poi trasformarsi in JavaScript normale. Ha vinto perché tiene il buono di JavaScript e cura il suo dolore, anche se i tipi non entreranno mai nel linguaggio stesso. Con la sfumatura che non sono gratis, e la bussola del giusto strumento. La lezione: la maturità non è avere uno strumento perfetto, ma conoscerne i bordi e costruirci le protezioni. Nella prossima e ultima puntata tiriamo le somme. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.