Believemy logo purple

Microsoft porte TypeScript en Go : Un gain de performances x10

Microsoft porte TypeScript vers Go pour des performances 10x supérieures. Découvrez pourquoi ce changement révolutionne le compilateur, ses avantages et son impact sur l’écosystème TypeScript.
Mis à jour le 13 mars 2025
Believemy logo

Depuis son lancement en 2012, TypeScript s'est imposé comme un "langage" (on parle aussi de préprocesseur ou de sucre syntaxique 😋) incontournable pour le développement JavaScript moderne.

Son typage statique et ses outils avancés en ont fait un choix privilégié pour les applications web de grande envergure.

Cependant, son compilateur, écrit en TypeScript et exécuté sur Node.js, présentait certaines limitations en matière de performances.

C'est pourquoi Microsoft a pris une décision majeure : porter le compilateur TypeScript vers Go. Le but ? Un gain de performances jusqu’à 10 fois supérieur, une consommation mémoire réduite et un démarrage plus rapide.

Voyons en détail ce que cela signifie pour l’écosystème TypeScript et pourquoi Microsoft a choisi Go pour cette transition.

 

Pourquoi TypeScript passe de JavaScript à Go ?

Actuellement, le compilateur de TypeScript (qu'on utilise avec la commande tsc) est intégralement écrit en... TypeScript ! Ce dernier fonctionne avec Node.js depuis plusieurs années mais plusieurs limitations sont devenues évidentes :

  1. Une forte dépendance à Node.js : Chaque exécution du compilateur nécessite un runtime JavaScript ;
  2. Des performances limitées : Les gros projets subissent des temps de compilation plus longs ;
  3. Une consommation mémoire (beaucoup trop) élevée

C'est pour ces raisons que Microsoft a initié le projet Corsa, visant à porter le compilateur en Go et à créer une version native, capable de s'exécuter directement sans runtime externe.

L'objectif : une exécution plus rapide, une empreinte mémoire réduite et une expérience développeur plus fluide ! (Les erreurs s'afficheront plus vite 👀)

 

Les avantages du passage à Go

Microsoft ne s'est pas contenté de changer de langage pour le plaisir. Les bénéfices concrets du passage à Go sont nombreux :

  • Démarrage instantané : Plus besoin d’un environnement Node.js, le compilateur est directement exécutable.
  • Compilation ultra-rapide : La transpilation TypeScript vers JavaScript se fait jusqu’à 10x plus vite.
  • Moins de mémoire consommée : Go est conçu pour être efficace en gestion mémoire, contrairement à JavaScript.
  • Meilleure scalabilité : Le compilateur devient plus performant sur des projets avec des millions de lignes de code.
  • Interopérabilité assurée : Le compilateur TypeScript natif en Go reste 100% compatible avec les versions actuelles (ouf ! 😬).

Avec cette refonte, les développeurs gagnent du temps et les grandes bases de code deviennent plus faciles à gérer.

 

Résultats des tests de performance

Microsoft a publié des benchmarks impressionnants montrant les gains de performances du nouveau compilateur sur divers projets Open Source.

ProjetTaille (LOC)TypeScript actuelTypeScript natif (Go)Accélération
VS Code1,5M lignes77.8s7.5s10.4x
Playwright356K lignes11.1s1.1s10.1x
TypeORM270K lignes17.5s1.3s13.5x
date-fns104K lignes6.5s0.7s9.5x
tRPC18K lignes5.5s0.6s9.1x
rxjs2,100 lignes1.1s0.1s11.0x

Ce que cela signifie :

  • Les grands projets comme VS Code verront leurs temps de compilation divisés par 10.
  • Même les petits projets bénéficieront d’un gain de rapidité notable.

 

Pourquoi Microsoft a choisi Go plutôt que Rust ou C++ ?

Avant de choisir Go, Microsoft a testé plusieurs langages.

Rust

Trop complexe pour un simple portage, plus adapté à une réécriture complète.

 

C++

Trop bas niveau (donc demandant trop de complexité), nécessitant plus d'efforts pour garantir la sécurité mémoire / éviter les fuites de mémoire.

 

Les raisons du choix de Go

Finalement, c'est donc Go qui a été choisi pour faire ce portage.

Avec son exécution rapide grâce à la compilation native, sa gestion de la mémoire optimisée et sa syntaxe simple permettant aux équipes de Microsoft une conversion beaucoup plus efficace du code existant, c'était un choix évident ! 👀

Finalement, c'est l'idée d'avoir une version native de TypeScript le plus vite possible qui a orienter les choix vers Go.

 

Impact sur l'écosystème TypeScript

Microsoft a prévu une transition progressive vers le compilateur natif en Go :

  • TypeScript 6.x (JS) sera maintenu pendant un certain temps pour assurer la compatibilité.
  • TypeScript 7.0 (Go) introduira le compilateur natif et sera la version par défaut à terme.
  • Les outils annexes comme le Playground seront migrés plus tard.

Aucun changement majeur dans les syntaxes ou les fonctionnalités ne sont à prévoir ! Donc vous n'aurez pas modifier vos projets.

 

Roadmap et adoption

Microsoft prévoit plusieurs étapes avant le déploiement complet :

Mi-2025

Version expérimentale du compilateur natif disponible.

Test en conditions réelles sur de grands projets.

 

Fin 2025

Version stable intégrée à TypeScript 7.0.

Première vague d’adoption par les équipes Microsoft.

 

2026 et au-delà

Portage du Playground et des outils annexes vers Go.

Phase finale de transition complète vers le compilateur natif.

Les développeurs pourront commencer à tester la version Go dès mi-2025.

 

Conclusion

Avec le portage de TypeScript en Go, Microsoft offre un énorme boost de performances aux développeurs. Les temps de compilation sont divisés par 10, la mémoire consommée est réduite, et l'expérience globale est grandement améliorée.

Ce que cela change pour vous :

  • Vous gagnerez du temps sur chaque build.
  • Vous pourrez travailler sur des projets plus volumineux sans ralentissements.
  • Vous bénéficierez d’une transition fluide grâce à la compatibilité avec TypeScript 6.x.

TypeScript continue d’évoluer et ce changement annonce une nouvelle ère pour le langage. Restez attentifs aux futures mises à jour et préparez-vous à tester TypeScript 7.0 !

En attendant, pour rester à jour, n'oubliez pas d'aller voir et commencer gratuitement notre formation TypeScript !

Notre formation TypeScript (à commencer maintenant gratuitement)
Notre formation TypeScript (à commencer maintenant gratuitement)

 

FAQ

Faut-il modifier son code TypeScript ?

Non ! 😗 Le compilateur natif est 100% compatible avec votre code actuel.

 

Peut-on encore utiliser TypeScript 6.x ?

Oui, Microsoft maintiendra la version JavaScript pendant plusieurs années !

 

Quand pourrons-nous tester la version Go ?

Une préview sera disponible mi-2025 pour les premiers tests !

 

La syntaxe TypeScript va-t-elle changer ?

Non, TypeScript reste le même.

 

Comment se former aux dernières nouveautés de TypeScript ?

En suivant notre formation complète sur TypeScript.

Catégorie : Développement
Believemy logo
Commentaires (0)

Vous devez être connecté pour commenter cet article : se connecter ou s'inscrire.

Essayez gratuitement

Que vous essayiez de scaler votre start-up, de créer votre premier site internet ou de vous reconvertir en tant que développeur, Believemy est votre nouvelle maison. Rejoignez-nous, évoluez et construisons ensemble votre projet.

Believemy is with anyone