Microsoft annonce une réécriture de son langage de programmation TypeScript en le dotant d'un compilateur et d'un ensemble d'outils natifs. Cet effort vise à résoudre les problèmes de performance, en particulier dans les grandes bases de code, en portant le compilateur TypeScript existant de TypeScript/JavaScript au langage natif, Go. Anders Hejlsberg, architecte principal de Microsoft pour TypeScript, affirme : "L'implémentation native améliorera considérablement le démarrage de l'éditeur, divisera par 10 la plupart des temps de construction et réduira substantiellement l'utilisation de la mémoire".Le 11 mars 2025, TypeScript a annoncé une réécriture complète de TypeScript en Go. Lors des tests, cette réécriture a permis une accélération de 10 fois dans certains dépôts - et jusqu'à 15 fois dans d'autres. Cette accélération affectera chaque partie de l'écosystème TypeScript : de l'exécution de tsc via CLI à la performance des survols et des erreurs dans votre IDE. Une fois la version publiée, vous serez en mesure d'adopter la nouvelle version de TypeScript sans modifier une seule ligne de code.
Pour rappel, TypeScript est un langage de programmation open-source et gratuit, développé par Microsoft, qui ajoute à JavaScript un typage statique avec des annotations de type optionnelles. Il est conçu pour le développement de grandes applications et se transpose à JavaScript. Depuis des années, l'amélioration des performances est la fonctionnalité la plus demandée par la communauté. Plusieurs tentatives ont été faites pour réécrire TypeScript dans un langage plus rapide, mais aucune n'a abouti.
Anders Hejlsberg, architecte principal de Microsoft pour TypeScript, a récemment présenté cette réécriture de TypeScript. Anders Hejlsberg est un ingénieur logiciel danois qui a co-conçu plusieurs langages de programmation et outils de développement. Il est l'auteur original de Turbo Pascal et l'architecte en chef de Delphi. Il travaille actuellement pour Microsoft en tant qu'architecte principal de C# et développeur principal de TypeScript.
Anders Hejlsberg présente un nouveau portage de TypeScript qui offrira aux développeurs un outil de haute performance
La proposition de valeur centrale de TypeScript est une excellente expérience pour le développeur. Au fur et à mesure que votre base de code se développe, la valeur de TypeScript elle-même augmente, mais dans de nombreux cas, TypeScript n'a pas été en mesure de s'adapter aux bases de code les plus importantes. Les développeurs travaillant sur de grands projets peuvent être confrontés à des temps de chargement et de vérification longs, et doivent choisir entre un temps de démarrage raisonnable de l'éditeur et une vue complète de leur code source.
Les développeurs apprécient de pouvoir renommer des variables en toute confiance, de trouver toutes les références à une fonction particulière, de naviguer facilement dans leur base de code et de faire toutes ces choses sans délai. Les nouvelles expériences basées sur l'IA bénéficient de larges fenêtres d'informations sémantiques qui doivent être disponibles avec des contraintes de latence plus strictes. Microsoft souhaitent également créer des builds en ligne de commande rapides pour valider que l'ensemble de votre base de code est en bon état.
Pour atteindre ces objectifs, Anders Hejlsberg affirme qu'ils ont commencé à travailler sur un portage natif du compilateur et des outils TypeScript. L'implémentation native améliorera le démarrage de l'éditeur, réduira la plupart des temps de construction par 10, et réduira substantiellement l'utilisation de la mémoire. En portant la base de code actuelle, ils prévoient d'être en mesure de présenter une implémentation native de tsc capable de vérifier les caractères en ligne de commande d'ici la moitié de 2025, avec une solution complète pour la construction de projets et un service linguistique d'ici la fin de l'année 2025.
Un TypeScript 10 fois plus rapide
L'implémentation native serait déjà capable de charger de nombreux projets TypeScript populaires, y compris le compilateur TypeScript lui-même. Voici les temps d'exécution de tsc sur quelques bases de code populaires sur GitHub de différentes tailles :
Bien que les fonctionnalités ne soient pas encore complètes, ces chiffres sont représentatifs de l'ordre de grandeur de l'amélioration des performances que vous constaterez en vérifiant la plupart des bases de code.
Anders Hejlsberg commente notamment ces gains :...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
