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 ?