Indice
- TypeScript
- GO
- Perché GO e non altri linguaggi?
- I vantaggi di Go per il nuovo compilatore TypeScript
- Cosa cambierà per gli sviluppatori TypeScript?
- Conclusione

Come abbiamo visto nel nostro articolo "Dove sta andando la programmazione?", cinque su sei delle prime 10 posizioni relative alle risorse che abbiamo analizzato, presentano TypeScript nella loro classifica.
TypeScript è un linguaggio di programmazione open source che si basa sul linguaggio JavaScript ed è stato rilasciato nel 2012 da Microsoft, quindi una tecnologia presente e in uso da 13 anni. Lo scorso marzo, però, la stessa Microsoft ha rilasciato una dichiarazione annunciando il porting del compilatore TypeScript da JavaScript a Go, promettendo così un incredibile miglioramento delle prestazioni di 10 volte.
Nella community tech queste dichiarazioni hanno suscitato molto interesse, ma anche stupore, in particolare proprio per la scelta di GO e non di tecnologie come ad esempio C++, C# o Rust.
In questo articolo vi proponiamo una breve panoramica di TypeScript, GO e delle novità in arrivo.
TypeScript
TypeScript è stato sviluppato da Microsoft e rilasciato nel 2012 come un superset di JavaScript, con l'obiettivo di risolvere alcune delle limitazioni del linguaggio, come la mancanza di tipizzazione statica.
Nel frattempo, nel 2011, Google ha lanciato AngularJS, un framework frontend basato su JavaScript. Poco dopo, nel 2013, Facebook ha introdotto ReactJS, un'altra libreria frontend che ha rapidamente guadagnato popolarità. Entrambi si basavano esclusivamente su JavaScript. Tuttavia, nel 2016, Google ha rilasciato Angular 2, un nuovo framework che, a differenza del suo predecessore, era interamente scritto in TypeScript.
Con il tempo, Angular (basato su TypeScript) ha iniziato a guadagnare sempre più consensi, distinguendosi per la sua struttura più organizzata e la tipizzazione statica, che aiutava a prevenire errori e migliorare la manutenibilità del codice. Questo ha contribuito alla crescente adozione di TypeScript, spingendo anche la comunità di React a integrare il supporto per TypeScript a partire dal 2020.
Al presente, sempre più sviluppatori e aziende hanno migrato da JavaScript a TypeScript, grazie ai suoi vantaggi in termini di sicurezza, produttività e scalabilità. È diventato uno standard per lo sviluppo frontend e backend, utilizzato in framework come Angular, React e persino Node.js.
GO
L'obiettivo era creare un linguaggio che fosse facile da apprendere, altamente performante e leggibile, mantenendo al tempo stesso un alto livello di efficienza. Per un periodo, venne utilizzata una combinazione di C++ e Assembly, ma presto divenne evidente la necessità di un linguaggio nuovo e più adatto alle esigenze moderne.
Nel novembre 2009, Google annunciò ufficialmente Go (Golang) come open source, sviluppato da Robert Griesemer, Rob Pike e Ken Thompson. Dopo diversi miglioramenti, nel marzo 2012 venne rilasciata la versione stabile Go 1.0, che divenne lo standard per lo sviluppo con Go.
Grazie alla sua semplicità, efficienza e supporto alla concorrenza, Go guadagnò rapidamente popolarità, diventando un pilastro nel mondo del backend, cloud computing e microservizi. Oggi è ampiamente utilizzato da aziende come Google, Uber, Dropbox e Docker.
Perché GO e non altri linguaggi?
L'esecuzione di codice nativo è generalmente più veloce ed economica rispetto a quella che dipende da un compilatore JIT (Just-In-Time) in fase di esecuzione. Ma perché è stata scelta proprio Go?
Rust è stato considerato, ma il suo complesso modello di gestione della memoria (con concetti come borrowing e ownership) avrebbe reso difficile un porting one-to-one del codice esistente. Sarebbe stato più adatto per una riscrittura completa (greenfield), ma non per una migrazione diretta.
Anche C++ è stato valutato, dato che offre prestazioni eccezionali, ma presenta molte peculiarità e una sintassi datata, rendendolo meno adatto in termini di manutenibilità e sviluppo.
Per quanto riguarda C#, la sua compilazione classica richiederebbe l'utilizzo del runtime .NET, il che sarebbe poco pratico: un compilatore dovrebbe funzionare come un binario collegato staticamente, mentre il compilatore AOT (Ahead of Time) di .NET non supporterebbe tutte le piattaforme desiderate. Per questo motivo, è stato escluso.
I vantaggi di Go per il nuovo compilatore TypeScript
- Gestione automatica della memoria: grazie alla garbage collection, non è necessaria una gestione manuale.
- Generazione di binari statici: Go può produrre eseguibili autonomi per diverse piattaforme, senza dipendere da un runtime esterno.
- Ottimizzazione per prestazioni e parallelizzazione: due aspetti fondamentali per un compilatore.
Cosa cambierà per gli sviluppatori TypeScript?
Conclusione
Da diverso tempo anche noi a DevInterface abbiamo adottato Go come parte del nostro stack tecnologico, apprezzandone la velocità, la scalabilità e l’efficienza nella gestione della concorrenza. Grazie alla nostra esperienza con questo linguaggio, siamo in grado di realizzare applicazioni robuste e performanti, ideali per backend ad alte prestazioni, microservizi e progetti cloud-native.
Se stai pensando di sviluppare un progetto con Go, il nostro team può aiutarti a sfruttare al massimo il potenziale di questo linguaggio. Contattaci per scoprire come possiamo supportarti!