Quel est l'intérêt d'écrire ou réécrire un logiciel en JavaScript ?
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 ?
:fleche: En savoir plus sur isomorphic-git
Sources : The Rule of Least Power, Atwood's Law
:fleche: Trouvez-vous utile de réécrire Git en JavaScript ? Quel est l'intérêt du projet isomorphic-git ?
:fleche: Quel est l'intérêt d'écrire ou réécrire un logiciel en JavaScript ?
:fleche: Les avantages de JavaScript pèsent-ils plus que ses inconvénients ?
:fleche: Que pensez-vous de la Règle de la moindre puissance et de la Loi d'Atwood ?
:fleche: 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 :
:fleche: Excel : Microsoft ajoute la possibilité d'écrire des fonctions personnalisées en JavaScript, mais également des fonctions d'apprentissage automatique
:fleche: Oracle peut-il s'opposer à l'utilisation du terme JavaScript par des tiers ? Le créateur du langage s'exprime sur la question
:fleche: JavaScript : faut-il privilégier les transformations XML à JSON et aux Frameworks ? Partagez vos avis
:fleche: JavaScript : Webpack en version 4 est maintenant disponible, et focus est fait sur le zéro configuration
Et la marmotte elle fait quoi dans tout ça ?
Bonjour,
Alors perso j'ai rien compris à cette théorie ....
La moindre puissance ?! Puissance de quoi ? de calcul ?
A moment donné faut arrêter le délire.
Le choix d'une technologie pour le développement d'une application évolutive et maintenable est plutôt lié au besoin technique, aux fonctionnalités requises, aux framework/API disponible pour traiter telle ou telle problématique, etc etc.
Si on suis le raisonnement on pourrais aller plus loin hein, tout développer en C voir en assembleur ?! Ben non, allons plus loin dans la démarche; en binaire :aie:
Bon, j'arrête la mais franchement rien compris à cette théorie... Et en plus pour nous dire de redévelopper les application en javascript ?! :sm:
Bref, bien bonne journée à tous, je pars changer de métier :lol: