IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

TypeScript a 10 ans ! Joyeux anniversaire. À cette occasion, Microsoft fait le point.
L'entreprise revient sur les doutes des premiers jours ainsi que sur l'évolution du langage

Le , par Stéphane le calme

254PARTAGES

13  0 
TypeScript est un langage de programmation libre et open source développé par Microsoft qui a pour but d'améliorer et de sécuriser la production de code JavaScript. Il s'agit d'un surensemble syntaxique strict de JavaScript (c'est-à-dire que tout code JavaScript correct peut être utilisé avec TypeScript). Le code TypeScript est transcompilé en JavaScript, et peut ainsi être interprété par n'importe quel navigateur web ou moteur JavaScript. TypeScript a été co-créé par Anders Hejlsberg, principal inventeur de C#.

TypeScript a été rendu public le 1er octobre 2012 (à la version 0.8), après deux ans de développement interne chez Microsoft.

10 ans plus tard, Daniel Rosenwasser, Senior Program Manager, TypeScript, a décidé de faire le point sur les doutes des premiers jours, le parcours du langage tout en indiquant les espoirs de Microsoft à l'endroit de TypeScript.

Les premiers jours

Lorsque TypeScript a fait ses débuts, il y avait beaucoup de scepticisme - et c'est compréhensible. Pour certains utilisateurs de JavaScript, une équipe essayant d'apporter des types statiques à JavaScript aurait pu ressembler à un complot diabolique ou à une blague.

Mais les fonctionnalités avaient du mérite, non? Vérifier le type, détecter les bogues avant même d'enregistrer votre fichier et obtenir des fonctionnalités d'éditeur riches comme la complétion de code, la navigation et les refactorisations*? Nous savions que les équipes à l'intérieur et à l'extérieur de notre entreprise rencontraient d'énormes défis avec des bases de code JavaScript complexes, et nous savions que JavaScript allait être utilisé partout. Alors, qui ne voudrait pas d'outils puissants pour l'aider à l'écrire ? Pour l'équipe, il y avait une vision de ce que TypeScript pourrait être, et en fait, si vous repensez à notre premier article d'annonce, la proposition de valeur était en grande partie la même qu'aujourd'hui !

Heureusement, cette vision a trouvé un écho chez d'autres. Dès le début, nous avons construit une communauté petite, mais travailleuse et enthousiaste, désireuse d'expérimenter et de vivre l'expérience alors que nous étions encore en train d'itérer, d'apprendre et de construire quelque chose qui n'avait même pas encore atteint la version 1.0. Nous avons vu de nouveaux efforts passionnants comme le projet DefinitelyTyped, de nouveaux membres de la communauté aidant sur StackOverflow et notre outil de suivi des problèmes, des auteurs écrivant des livres et des didacticiels pour le langage, et de nouvelles bibliothèques pariant sur TypeScript. Ces développeurs patients, travailleurs et énergiques ont jeté les bases de la croissance de la communauté TypeScript.

Pourtant, la plupart des développeurs JavaScript n'étaient pas sûrs de TypeScript. Alors, comment cette équipe allait-elle convaincre les développeurs JavaScript de la valeur des types statiques dans un langage typé dynamiquement*? "Types versus pas de types" a été un sujet… controversé, et cela remonte à au moins un demi-siècle dans le monde de la programmation.

Mais nous voulions vraiment créer des outils JavaScript étonnants grâce à la puissance des types.

Est-ce que cela pourrait être fait ?


Résister à l'épreuve du temps

La vérité est que cela a nécessité une approche de développement complètement différente de celle à laquelle nous étions habitués, suivie de persévérance, de sensibilisation et d'empathie. TypeScript devait être libre et open source, et fait d'une manière vraiment ouverte. Il devait également interagir de manière transparente avec JavaScript existant, co-évoluer avec JavaScript et ressembler à JavaScript. TypeScript n'a jamais cherché à créer un langage séparé, distinct et normatif. Au lieu de cela, TypeScript devait être descriptif - innover dans le système de type autour des conventions et des modèles trouvés "dans la nature" de l'écosystème JavaScript. Cela nous a permis de rencontrer les gens là où ils se trouvaient, et cette philosophie correspondait vraiment bien aux objectifs de conception du projet.

Il est en fait surprenant de constater à quel point les objectifs de conception de TypeScript ont résisté.

Par exemple, certains objectifs de conception comme
  • « n'imposer aucune surcharge d'exécution sur les programmes émis » ;
  • « s'aligner sur les propositions ECMAScript actuelles et futures » ;
  • « préserver le comportement d'exécution de tout le code JavaScript » ;
  • « éviter d'ajouter une syntaxe au niveau de l'expression » ;
  • « utiliser un système de type structurel cohérent et entièrement effaçable »

indiquent vraiment à TypeScript d'être simplement un vérificateur de type pour JavaScript, en ajoutant uniquement la syntaxe nécessaire à la vérification de type.

Nous nous sommes donc concentrés principalement sur le système de type et avons évité d'ajouter de nouvelles syntaxes et comportements d'exécution. Cela peut sembler évident 10 ans plus tard, mais les langages de programmation essaient souvent de se différencier en fonction de l'apparence de leur code...
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.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 03/10/2022 à 8:25
Même si les fondations de JavaScript restent bancales, n'en déplaise, l'adjonction de TypeScript en a fait un langage beaucoup plus fréquentable à mon goût.
Ce sur-ensemble de JavaScript a rendu les développements plus robustes et j'ai envie de dire, plus professionnels en permettant par exemple une meilleure autocomplétion et refactoring. Et surtout en réduisant les bugs à l'exécution et en rendant le code plus maintenable.
TypeScript a beaucoup fait évoluer les pratiques dans la communauté, dans le bon sens.
Je me souviens des nombreuses réticences et critiques à l'encontre de TypeScript à ses débuts. Et beaucoup de développeurs trop attachés au JavaScript vanilla pur et dur cherchaient à couler le langage initié par Anders Hejlsberg.
La raison étant sans doute à aller chercher du côté des habitudes et de la résistance au changement.
Depuis, TypeScript a creusé son trou et est désormais devenu incontournable dans le paysage du développement Web et NodeJS/Deno.
Cependant, je me dis qu'à terme, la plus grande victoire de TypeScript serait celle de disparaître (si si), en étant pleinement intégré, fondu, dans un futur standard JavaScript.
5  1