Un contributeur de Node.js délaisse le framwork au profit de Go
Une action qui pourrait amorcer une migration vers le langage de Google ?
Le 2014-07-17 05:46:42, par Arsene Newman, Expert éminent sénior
« Je me bats avec Node.js en production depuis suffisamment longtemps pour ne plus aimer travailler avec, malheureusement, donc en cet instant, ceci est mon adieu formel ! Et plus important encore, j’ai besoin de mainteneurs. » C’est la déclaration d’un développeur ayant participé activement au projet Node.js, qui est venu ébranler la communauté du célèbre framework JavaScript.
Répondant au nom de TJ Holowaychuk, ce développeur explique ce choix par un constat simple : « Node.js n’est plus adapté à mes besoins en matière de développement de logiciels ». À la place, TJ se tourne dorénavant vers un langage informatique en plein essor : Go.
Pourquoi migrer vers Go ? L’explication tient en quelques mots pour le développeur : « Je suis frustré par la direction que prend Node.js, direction qui favorise la performance par rapport à la facilité d’utilisation et à la robustesse ». De l’autre côté, Go « est robuste, offre de meilleures performances, est facile à maintenir et dispose d’une meilleure couverture des tests puisque le code synchrone est généralement plus agréable et facile à utiliser. »
Pour autant, le développeur ne va pas jusqu’à dire que Go est le saint Graal, loin de là même, car le langage soutenu par Google comporte lui aussi des imperfections. Néanmoins, il représente une excellente solution et affiche une grande maturité pour son jeune âge (comparable à celui de Node.js) selon TJ.
Plus particulièrement et dans le cadre d’un travail distribué, le développeur reproche à Node.js certaines imperfections et bizarreries, comme :
Ceci étant dit, TJ espère que les développeurs en charge de la maintenance du framework concentreront leurs efforts sur la résolution de ces imperfections maintes fois signalées par les utilisateurs, sur la résolution d’erreurs déclarées depuis plusieurs années ou encore sur l’amélioration de la robustesse du framework qui peut se faire en grande partie par l’adoption des generators. Sans cela, Node.js sera condamné à perdre de sa pertinence malgré le nombre important de professionnels l’ayant adopté.
Au final, le développeur garde espoir que Node.js retrouve le bon chemin, ce qui pourrait se faire grâce à la collaboration de l’éditeur StrongLoop. En attendant, son constat pourrait bien amorcer la migration de nombreux développeurs vers le langage Go, compte tenu des critiques émises et de l’utilisation de Node.js en dehors de la sphère du développement web.
Source : blog de Holowaychuk
Et vous ?
Pensez-vous que l’on pourrait assister à une migration des développeurs vers le langage Go ? Pourquoi ?
Répondant au nom de TJ Holowaychuk, ce développeur explique ce choix par un constat simple : « Node.js n’est plus adapté à mes besoins en matière de développement de logiciels ». À la place, TJ se tourne dorénavant vers un langage informatique en plein essor : Go.
Pourquoi migrer vers Go ? L’explication tient en quelques mots pour le développeur : « Je suis frustré par la direction que prend Node.js, direction qui favorise la performance par rapport à la facilité d’utilisation et à la robustesse ». De l’autre côté, Go « est robuste, offre de meilleures performances, est facile à maintenir et dispose d’une meilleure couverture des tests puisque le code synchrone est généralement plus agréable et facile à utiliser. »
Pour autant, le développeur ne va pas jusqu’à dire que Go est le saint Graal, loin de là même, car le langage soutenu par Google comporte lui aussi des imperfections. Néanmoins, il représente une excellente solution et affiche une grande maturité pour son jeune âge (comparable à celui de Node.js) selon TJ.
Plus particulièrement et dans le cadre d’un travail distribué, le développeur reproche à Node.js certaines imperfections et bizarreries, comme :
- la duplication des callbacks ;
- la perte des callbacks dans certains cas ;
- l’existence des erreurs dites out-of-band ;
- les émetteurs peuvent aboutir à de multiples erreurs ;
- le manque de clarté de l’erreur de type « événement manquant » ;
- le flou entourant le recours aux gestionnaires d’erreurs.
Ceci étant dit, TJ espère que les développeurs en charge de la maintenance du framework concentreront leurs efforts sur la résolution de ces imperfections maintes fois signalées par les utilisateurs, sur la résolution d’erreurs déclarées depuis plusieurs années ou encore sur l’amélioration de la robustesse du framework qui peut se faire en grande partie par l’adoption des generators. Sans cela, Node.js sera condamné à perdre de sa pertinence malgré le nombre important de professionnels l’ayant adopté.
Au final, le développeur garde espoir que Node.js retrouve le bon chemin, ce qui pourrait se faire grâce à la collaboration de l’éditeur StrongLoop. En attendant, son constat pourrait bien amorcer la migration de nombreux développeurs vers le langage Go, compte tenu des critiques émises et de l’utilisation de Node.js en dehors de la sphère du développement web.
Source : blog de Holowaychuk
Et vous ?
-
SylvainPVRédacteur/ModérateurJe trouve ça vraiment mal vu de venir le critiquer alors qu'il a plusieurs fois contribué de manière pertinente au projet : https://github.com/joyent/node/commi...or=visionmedia
Chacun est libre de faire ses propres choix et d'exposer son opinion. On devrait plutôt le remercier pour le travail qu'il a accompli sur Node.le 17/07/2014 à 13:39 -
BlueScreenJunkyMembre habituéBen pour le coup je ne trouve pas que ce soit une mauvaise chose. C'est un contributeur, pas un salarié (c'est ça la magie de l'Open Souce), donc rien ne le lie au projet, et s'il estime que Go répond mieux à ses besoins que Node.js je trouve que c'est une attitude plus saine de changer d'outil que de s'obstiner sur un outil qui ne lui convient qu'à moitié sous prétexte que "j'ai contribué au projet donc je me sens obligé de m'en servir".
Qui sait, peut-être qu'il finira par contribuer à Go ?
PS : Pour ma part je n'utilise ni l'un ni l'autre, mais ça n'ébranle aucune communauté... J'ai l'impression que tout le monde s'en moque de mon avisle 17/07/2014 à 22:03 -
algsuCandidat au ClubUn contributeur qui fuit au lieu de contribuer...
Bel esprit.
Donc non je ne pense pas que ça soit une "fuite", il fait son choix en connaissance de cause, ensuite libre à chacun d'être d'accord avec lui ou non (de nombreuses compagnies utilisent Node.js en production et ça continuera malgré le départ de TJ Holowaychuck)
Enfin, je pense qu'on va assister à une migration vers Go, l'une des raisons majeures étant le soutien de Google. Reste à savoir quelle ampleur cela prendra + si ça va durer.
En tout cas la participation de TJ Holowaychuck est une très bonne nouvelle pour la communauté Go.le 17/07/2014 à 13:49 -
zckrsCandidat au Cluble 17/07/2014 à 20:30
-
sombre005Nouveau membre du ClubPensez-vous que l’on pourrait assister à une migration des développeurs vers le langage Go ? Pourquoi ?
Si on aime bien un langage, que l'on sait faire des choses avec, pourquoi changer?
Si le langage que l'on aime bien ne permet pas de faire des choses ou ne fait pas ce que on lui demande de faire, et que les erreurs ne sont pas corrigés ou impossible à contourné, on regarde ailleurs et c'est normal.
Maintenant parler d'une migration tout du moins une migration massive non.le 17/07/2014 à 13:31 -
abriotdeMembre chevronnéNode.js est intéressant pour 2 choses :
-> son côté asynchrone. Certes cela complique le debug (tous comme les processus, coeur de Go) mais cela permet de booster les performances et une parallélisation avancée assez simple a développer.
-> son côté scripts. Cela lui donne une souplesse très appréciable (Comme PHP, Python ou Bash) mais cela nuit aux performances d'ou l'avantage de Go dans ce domaine.
Alors on peut préférer Go pour son efficacité (tant en développement qu'en performances) mais si l'on a besoin de souplesse ou pour une appli de haut niveau, Node.js garde tout son attrait.
L'inconvénient de Node.js c'est Javascript non typé... d'ou l'intérêt d'un Node en Dart (dérivé de Javascript)...le 17/07/2014 à 14:29 -
TJ a créé de nombreux modules très utilisés, et tous ont des mainteneurs. Nodejs ne repose pas sur les épaules de quelques personnes. Il est devenu bien trop important pour ça. Il est utilisé et maintenu par des entreprises de taille diverses et s'industrialise.
Regarde les utilisations de node en entreprise, tu verras quelques poissons d'une taille appréciable :http://www.nodejs.org/industry/.le 17/07/2014 à 17:21 -
UtherExpert éminent séniorGo est un langage qui permet entre autre de faire du web. Il est donc tout a a fait possible de l'utiliser à la place de node.js.
Bien sur qu'il peut contribuer, d'ailleurs c'est ce qu'il a fait pendant longtemps. Mais si les problèmes que tu trouves sont profonds et nécessite une refonte du projet et il faudrait que tu aie un support du reste de la communauté sinon tu n'ira pas plus loin qu'un petit fork qui ne mènera pas a grand chose.
Parce qu'on autre a peut-être des avantages comme permettre de faire les chose, plus facilement, plus surement ou avec de meilleures performances par exemple.le 17/07/2014 à 17:53 -
ZeRevoMembre avertiCa fait plusieurs fois qu'il y a des sujets de ce genre sur developpez.com , j'entend par là 'un contributeur' fait ci fait ça.
Un de perdu 10 de retrouvés! peut⁻être que 10 développeurs intégreront le projet! En soi c'est la vie d'un projet il y a des arrivées et des départs, des avis positifs et négatifs, je ne vois pas en quoi ça demande de crée un post à chaque événement sur un projet sinon on pas fini!le 18/07/2014 à 22:43 -
PaleoMembre éclairéOu bien TypeScript sur Node.js. On perd alors le "côté scripts" mais à mon sens ce n'est pas un défaut.le 19/07/2014 à 12:19