Je crois que la communauté Erlang n'est pas jaloux de Node.js comme il le fait non-blocage I/S en mode natif et a les moyens de déploiements à grande échelle facilement à plus d'un processeur (quelque chose de pas encore intégré dans Node.js). Plus de détails à http://journal.dedasys.com/2010/04/29/erlang-vs-node-js et http://stackoverflow.com/questions/3011317/node-js-or-erlang
Qu'en Haskell? Peut Haskell fournir quelques-uns des avantages de Node.js, à savoir une solution propre pour éviter le blocage de I/O sans avoir recours à la multi-thread de programmation?
Mise à JOUR:
Il y a beaucoup de choses qui attirent avec Node.js
- Événements: Pas de fil de manipulation, le programmeur fournit seulement des rappels (comme dans le composant logiciel Enfichable cadre)
- Les rappels sont garantis pour être exécuté dans un thread unique: pas de condition de course possible.
- Agréable et simple UNIX-amicale de l'API. Bonus: Excellente prise en charge de HTTP. DNS également disponibles.
- Tous les I/O est en asynchrone par défaut (ce qui peut être gênant parfois, tout de même). De ce fait, il est plus facile d'éviter les verrous. Cependant, trop de traitement de l'UC dans un rappel aura un impact sur les autres connexions (dans ce cas, la tâche doit diviser en plus petits sous-tâches et re-programmée).
- Même langage côté client et côté serveur. (Je ne vois pas trop la valeur de celui-ci, cependant. JQuery et Node.js partager l'événement de programmation de modèle, mais le reste est très différent. Je ne peux pas voir comment le partage de code entre côté serveur et côté client pourrait être utile dans la pratique.)
- Tout cela emballé dans un seul produit.