Quel est l'intérêt d'écrire ou réécrire un logiciel en JavaScript ?
Partagez votre expérience
Lors de la conception de systèmes informatiques, on a souvent le choix d'utiliser un langage plus ou moins puissant pour publier des informations, exprimer des contraintes ou résoudre des problèmes. Mais la « règle de la moindre puissance » ou « the Rule of Least Power » de Tim Berners-Lee suggère de choisir le langage le moins puissant approprié pour atteindre un objectif donné.
D'après le patron du W3C, il y a un compromis dans le choix entre les langages qui peuvent résoudre un large éventail de problèmes et les langages dans lesquels les programmes et les données sont facilement analysés. Dans les années 1960 à 1980, les informaticiens ont consacré beaucoup d'efforts à rendre les langages aussi puissants que possible. Mais de nos jours, il y a des raisons de choisir non pas la solution la plus puissante, mais la moins puissante, disait-il dans un document du W3C daté de 2006. « Exprimer des contraintes, des relations et des instructions de traitement dans des langages moins puissants augmente la flexibilité avec laquelle les informations peuvent être réutilisées : moins le langage est puissant, plus vous pouvez faire des choses avec les données stockées dans ce langage », expliquait Tim Berners-Lee.
En 2007, comme corollaire de la Règle de la moindre puissance de Tim Berners-Lee, Jeff Atwood - un développeur de logiciels, auteur, blogueur et entrepreneur américain - a proposé la loi d'Atwood. Et elle stipule que « toute application qui peut être écrite en JavaScript finira par être écrite en JavaScript ».
Eh bien, avec le développement de l'écosystème JavaScript, il semble que beaucoup de projets ont été écrits ou réécrits en JavaScript conformément à cette loi. Un exemple récent est le logiciel de gestion de versions décentralisé Git et sa version JavaScript isomorphic-git.
D'après son développeur, isomorphic-git est une implémentation JavaScript pure de git qui fonctionne dans les environnements Node et navigateurs (y compris les WebWorkers et ServiceWorkers). isomorphic-git vise aussi l'interopérabilité à 100 % avec l'implémentation standard de git. Tout cela sonne bien, mais qu'en est-il de son utilité réelle ? Peut-être réside-t-elle dans l'intérêt d'utiliser JavaScript ?
Rappelons en effet que les langages de programmation ne vivent pas isolés et que leur destin est lié à leur écosystème. Et sur ce point, les adeptes de JavaScript peuvent justifier l'utilisation de ce langage. JS est en effet une cible de portage populaire parce que les navigateurs Web (qui ne jurent que par lui ?) sont des plateformes largement déployées, mais également parce que des plateformes comme Node et Electron - qui reposent sur JavaScript - sont aussi largement répandues. Ainsi, cibler JavaScript vous permet de cibler certains frontends et backends avec le même code. Il y a probablement encore d'autres raisons qui pourraient justifier cela. Mais qu'en est-il des inconvénients ?
En savoir plus sur isomorphic-git
Sources : The Rule of Least Power, Atwood's Law
Trouvez-vous utile de réécrire Git en JavaScript ? Quel est l'intérêt du projet isomorphic-git ?
Quel est l'intérêt d'écrire ou réécrire un logiciel en JavaScript ?
Les avantages de JavaScript pèsent-ils plus que ses inconvénients ?
Que pensez-vous de la Règle de la moindre puissance et de la Loi d'Atwood ?
De manière générale, que recherchez-vous quand vous décidez de réécrire un logiciel donné dans un autre langage ?
Voir aussi :
Excel : Microsoft ajoute la possibilité d'écrire des fonctions personnalisées en JavaScript, mais également des fonctions d'apprentissage automatique
Oracle peut-il s'opposer à l'utilisation du terme JavaScript par des tiers ? Le créateur du langage s'exprime sur la question
JavaScript : faut-il privilégier les transformations XML à JSON et aux Frameworks ? Partagez vos avis
JavaScript : Webpack en version 4 est maintenant disponible, et focus est fait sur le zéro configuration
Partager