Le fait d’avoir un unique langage n’est pas important pour le partage de code, qui effectivement est anecdotique. Par contre ce qui est intéressant c’est le focus, on n’a plus à faire l’effort intellectuel de basculer d’un langage à un autre, d’une API à une autre, etc… On utilise les mêmes paradigmes et la même syntaxe. C’est ça la vraie valeur ajoutée de ce point.

Quant au niveau de connaissance JS moyen, c’est vrai, mais justement il grimpe en flêche vous avez du vous en rendre compte quand-même… ce n’est pas un hasard, c’est justement parce que ces connaissances sont bien plus sollicitées, et le niveau de qualité et de maîtrise général s’en ressent. Il faut être un spectateur averti pour s’en rendre compte par contre…

Les librairies pour les « autres langages » dont tu parles existent déjà. gevent, twisted… aucune n’a le même succès. Java propose également une API asynchrone similaire. Ça n’a pas pris autant non plus. Pourquoi ? Parce que cette question est totalement secondaire. D’ailleurs cette API est très critiquée, beaucoup préfèreraient des « Promises » ou même des coroutines.

Ce qui explique le succès grandissant de Node.js ce sont 3 points :

1. L’existant. Pour faire du scraping de site on peut réutiliser jQuery une fois qu’on a récupérer le DOM. Pour manipuler les dates, on peut utiliser momentjs des deux côtés. Faire de la validation de schéma JSON, idem. Générer des UUID, idem… Une quantité innombrable de librairies dont on avait l’habitude ou qu’on découvre sont utilisables côté serveur et client. C’est la partie non anecdotique du « partage de code », et qui donne un coup de boost impressionnant au démarrage.

2. La communauté est impressionnante. C’est le même « genre » de développeurs qui font des libs incroyables sous Ruby, mais cette fois ils sont plus nombreux, ils sont parfois « powered by Google »… On a parlé de Mozilla ? Ah non, tiens tu iras leur dire que Node est juste « un truc en plus ». JS c’est leur langue natale, alors une fois dispo sur le serveur avec une belle API, c’est un peu plus qu’un outil anecdotique.

2,5. La communauté est celle du web. Vous avez remarqué comme tous les nouveaux outils du développeur web commencent par « npm install » ? Ce n’est pas vraiment un hasard, ni une « petite mode passagère ».

3. npm. C’est la première fois, mine de rien, qu’un gestionnaire de package résout le « dependency hell ». Et ça n’est pas grâce à un coup de génie de son concepteur, mais à l’isolation permise par JavaScript (là encore, la question du langage en lui-même prend toute son importance). Sans compter qu’il est devenu, par sa simplicité et son mode de fonctionnement anarchique, le gestionnaire préféré de plein de gens qui ne sont pas forcément des outils « serveur » (ender, bower…).

Ce sont ces trois points : l’existant, la communauté, et npm, qui font le succès de Node. Et les deux derniers sont bien partis pour durer, et sont bien dus à JavaScript-le-langage.

Depuis 15 ans le langage commun du Web c’est JavaScript, et aujourd’hui il explose, vous pensez vraiment que ça ne sera que passager ? Ou alors vous considérez que le Big Bang c’était un truc passager aussi :P