Я вважаю, що спільнота Erlang не заздрить Node.js, оскільки вона не блокує введення-виведення вихідних даних і має способи легко масштабувати розгортання на більш ніж один процесор (щось навіть не вбудовано в Node.js). Детальніше на http://journal.dedasys.com/2010/04/29/erlang-vs-node-js та Node.js або Erlang
Що з Haskell? Чи може Haskell надати деякі переваги Node.js, а саме чисте рішення, щоб уникнути блокування вводу / виводу без використання багатопотокового програмування?
З Node.js є багато привабливих речей
- Події: Ні маніпулювання потоком, програміст надає лише зворотні дзвінки (як у Snap Framework)
- Гарячі зворотні дзвінки гарантовано будуть виконані в один потік: не можливі умови перегонів.
- Приємний і простий API UNIX. Бонус: Відмінна підтримка HTTP. Також доступний DNS.
- Кожен I / O за замовчуванням асинхронний. Це полегшує уникнення замків. Однак занадто велика обробка процесора в зворотному дзвінку вплине на інші з'єднання (у цьому випадку завдання має розділитися на менші підзадачі та переплановано).
- Однакова мова для клієнтської та серверної. (Я не бачу надто великого значення в цій, але jQuery і Node.js поділяють модель програмування подій, але решта дуже відрізняється. Я просто не бачу, як міг ділитися кодом між стороною сервера та клієнтом. бути корисним на практиці.)
- Все це упаковано в один продукт.