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 , 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 :
  • 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 ?

Pensez-vous que l’on pourrait assister à une migration des développeurs vers le langage Go ? Pourquoi ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Traroth2 Traroth2 - Expert éminent http://www.developpez.com
le 17/07/2014 à 12:59
Je cherche le rapport entre les fonctionnalités de Node.js et celles de Go. J'ai du mal à comprendre comment remplacer l'un par l'autre...

Sinon, pour les déçus de Node.js, il y a Vert.x :

http://vertx.io/
https://fr.wikipedia.org/wiki/Vert.x

Edit : Dans son contexte, les systèmes distribués, ça a sans doute du sens...
Avatar de phmatray phmatray - Membre à l'essai http://www.developpez.com
le 17/07/2014 à 13:14
Un contributeur qui fuit au lieu de contribuer...
Bel esprit.
Avatar de sombre005 sombre005 - Nouveau membre du Club http://www.developpez.com
le 17/07/2014 à 13:31
Pensez-vous que l’on pourrait assister à une migration des développeurs vers le langage Go ? Pourquoi ?

Je ne crois pas qu'il y aura un exode massif des développeurs vers Go. Sauf cas de forces majeurs.

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.
Avatar de SylvainPV SylvainPV - Rédacteur/Modérateur http://www.developpez.com
le 17/07/2014 à 13:39
Citation Envoyé par phmatray  Voir le message
Un contributeur qui fuit au lieu de contribuer...
Bel esprit.

Je 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.
Avatar de algsu algsu - Candidat au Club http://www.developpez.com
le 17/07/2014 à 13:49
Un contributeur qui fuit au lieu de contribuer...
Bel esprit.

Cette remarque cynique (et déplacée) aurait peut-être sa place si l'homme en question était un contributeur lambda frustré. Le fait que ce soit l'un contributeur majeur (cf son github) de l'écosystème Node.js pousse à se poser quelques questions. Je trouve ça dommage que l'article passe sous silence que ce soit à lui qu'on doit quelques perles comme Express.
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.
Avatar de abriotde abriotde - Membre éclairé http://www.developpez.com
le 17/07/2014 à 14:29
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)...
Avatar de Sodium Sodium - Membre éclairé http://www.developpez.com
le 17/07/2014 à 14:32
Je ne connais pas Go, par contre ce que j'ai vu en parcourant rapidement quelques tutos ne m'ont pas donné envie de me mettre à Node.js.
Je pense également que le performance ne doit pas prendre le pas sur la clarté d'utilisation.
Avatar de phmatray phmatray - Membre à l'essai http://www.developpez.com
le 17/07/2014 à 16:46
Citation Envoyé par SylvainPV  Voir le message
Je 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.

C'est bien parce qu'il contribué de façon majeure que je me permets ce cynisme extrême.
Le départ TJ Holowaychuk signe à mon sens la fin à moyen terme de Node.js.
Que ma remarque déplaise ou non, je pense que tout comme lui, il faut se poser la question de continuer ou non à utiliser Node.js
Avatar de Enerian Enerian - Membre éclairé http://www.developpez.com
le 17/07/2014 à 17:21
Citation Envoyé par phmatray  Voir le message
Le départ TJ Holowaychuk signe à mon sens la fin à moyen terme de Node.js.

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/.
Avatar de Uther Uther - Expert éminent http://www.developpez.com
le 17/07/2014 à 17:53
Citation Envoyé par Traroth2  Voir le message
Je cherche le rapport entre les fonctionnalités de Node.js et celles de Go. J'ai du mal à comprendre comment remplacer l'un par l'autre...

Go 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.

Citation Envoyé par phmatray  Voir le message
Un contributeur qui fuit au lieu de contribuer...
Bel esprit.

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.

Citation Envoyé par sombre005  Voir le message
Si on aime bien un langage, que l'on sait faire des choses avec, pourquoi changer?

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.
Offres d'emploi IT
Formateur mainframe H/F
Adaming - Ile de France - Paris (75000)
Ingénieur développement ios h/f
PARROT SA - Ile de France - Paris (75000)
INGENIEUR SUPPORT SECURITE ET RESAU
Orentis - Ile de France - Paris

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil