Turbo 8 abandonne la prise en charge de TypeScript
(world.hey.com)Daniel Heinemeier Hansson, cofondateur et CTO de 37signals, connu pour Ruby on Rails et Basecamp, a annoncé qu’il supprimerait la prise en charge de TypeScript dans le framework web Turbo, actuellement en cours de développement.
Il a cité comme principales raisons le fait que les déclarations de types polluent le code, et que l’ensemble du processus consistant à déclarer les types puis à faire intervenir le compilateur TS n’était pas agréable.
Le passage de TypeScript à JavaScript est un événement sans précédent, qui provoque une forte onde de choc dans la communauté des programmeurs.
Autre point de controverse : bien qu’il s’agisse d’un produit de 37signals, c’est aussi un projet open source recevant des contributions externes, or la PR supprimant TypeScript a été soumise sans concertation avec les contributeurs externes puis fusionnée de manière surprise seulement deux heures plus tard.
7 commentaires
Comme JavaScript est un langage fondé sur les prototypes, j’ai l’impression qu’ils ignorent cette philosophie et cherchent à écarter TypeScript, qui va de l’avant....
https://medium.com/@limsungmook/…
Dans la foulée d’hier, un billet un peu putaclic a encore été publié.
https://world.hey.com/dhh/…
Je ne savais pas qui c’était, mais en apprenant que c’était la personne qui a créé RoR, je me suis dit qu’il était plausible qu’il n’aime pas TypeScript.
Je n’ai pas étudié RoR en profondeur, mais quand je pense au concept d’Open Class, j’ai l’impression que ça ne s’accorde pas bien avec le typage.
D’après mon expérience personnelle, où TypeScript est au centre, je trouvais extrêmement frustrant de devoir créer manuellement des classes de types une par une en Java (Kotlin), donc je me dis que pour cette personne, TypeScript a peut-être provoqué le même ressenti…
Malgré tout, cette série de décisions m’est tout simplement impossible à comprendre.
Hum... quand on voit les deux PR, c’est une décision au point qu’il est difficile d’y voir un projet open source.
Le propriétaire du dépôt a tranché sans discussion et a même fusionné directement les changements en ignorant le processus de PR qui existait dans le dépôt jusque-là...
Ce n’est pas très beau à voir.
À la rigueur, s’il y avait eu une procédure de persuasion suffisante, passe encore, mais je pense que c’est un acte qui sacrifie la fiabilité du projet en tant que projet open source.
Du point de vue des autres projets qui dépendent des types de Turbo, cela veut dire qu’après une mise à jour, tous les types peuvent casser du jour au lendemain.
https://devclass.com/2023/05/…
Récemment, Svelte est lui aussi passé de TypeScript à JavaScript (+JSDoc).
Svelte utilise la vérification de types via JSDoc, et comme cela dépend de TS, cela ne signifie pas qu’ils ont renoncé à la sûreté de typage elle-même. Ils fournissent aussi des définitions de types. La situation me semble donc différente de celle de Turbo, qui, lui, a tout jeté à la poubelle sans JSDoc ni
d.ts.Ah oui, bien sûr. En regardant le lien de la PR là-bas, j’ai vu qu’il y avait aussi beaucoup de mentions à ce sujet.