Creo que la comunidad Erlang no es envidioso de Node.js como lo hace sin bloqueo de E/S de forma nativa y tiene formas de ampliar los despliegues fácilmente a más de un procesador (algo que ni siquiera incorporada en Node.js). Más detalles en http://journal.dedasys.com/2010/04/29/erlang-vs-node-js y Node.js or Erlang¿Cuál es la respuesta de Haskell a Node.js?
¿Qué hay de Haskell? ¿Puede Haskell proporcionar algunos de los beneficios de Node.js, es decir, una solución limpia para evitar el bloqueo de E/S sin tener que recurrir a la programación de múltiples hilos?
Hay muchas cosas que son atractivas con Node.js
- Eventos: Ninguna manipulación hilo, el programador sólo proporciona devoluciones de llamada (como en el marco de Snap)
- devoluciones de llamada están garantizados para ser ejecutado en un solo hilo: no es posible una condición de carrera.
- Agradable y simple API UNIX-friendly. Bonificación: excelente soporte HTTP. DNS también disponible.
- Cada E/S es por defecto asíncrona. Esto hace que sea más fácil evitar bloqueos. Sin embargo, demasiado procesamiento de la CPU en una devolución de llamada afectará a otras conexiones (en este caso, la tarea debe dividirse en subtareas más pequeñas y reprogramarse).
- El mismo lenguaje para el lado del cliente y el lado del servidor. (No veo demasiado valor en esto, sin embargo, jQuery y Node.js comparten el modelo de programación de eventos, pero el resto es muy diferente. Simplemente no puedo ver cómo podría compartir código entre el lado del servidor y el lado del cliente ser útil en la práctica.)
- Todo esto empaquetado en un solo producto.
Creo que debería hacer esta pregunta en [Programadores] (http://programmers.stackexchange.com/) en su lugar. – Jonas
No incluir un fragmento de código no lo convierte en una pregunta subjetiva. – gawi
Cierto, pero los programadores no son solo un sitio para preguntas subjetivas. Es un lugar para preguntas que no están directamente relacionadas con el código, p. elección de idioma Buena pregunta sin embargo. +1 – Jonas