Я считаю, что сообщество Erlang не завидует Node.js, так как оно не блокирует ввод-вывод и имеет способы легко масштабировать развертывания для нескольких процессоров (что-то даже не встроено в Node.js). Более подробная информация на сайте http://journal.dedasys.com/2010/04/29/erlang-vs-node-js и Node.js or ErlangЧто такое ответ Haskell на Node.js?
Что относительно Haskell? Может ли Haskell предоставить некоторые преимущества Node.js, а именно, чистое решение, чтобы избежать блокировки ввода-вывода без использования многопоточного программирования?
Там не много вещей, которые являются привлекательными с Node.js
- Событие: Нет манипуляция нити, программист предоставляет только обратные вызовы (например, в рамках оснастки)
- Callbacks гарантированно будет работать в одном потоке: невозможно состояние гонки.
- Приятный и простой в использовании UNIX-API. Бонус: отличная поддержка HTTP. Также доступен DNS.
- Каждый ввод-вывод по умолчанию является асинхронным. Это позволяет избежать блокировок. Однако слишком большая обработка процессора в обратном вызове будет влиять на другие соединения (в этом случае задача должна разделиться на более мелкие подзадачи и перепланировать).
- Тот же язык для клиентской и серверной сторон. (Я не вижу слишком большого значения в этом, однако jQuery и Node.js используют модель программирования событий, но все остальное очень отличается. Я просто не вижу, как совместный код между серверной и клиентской стороной может будут полезны на практике.)
- Все это упаковано в один продукт.
Я думаю, вы должны задать этот вопрос на [Programmers] (http://programmers.stackexchange.com/). – Jonas
Не включая кусок кода не делает его субъективным вопросом. – gawi
Правда, но Programmers - это не только сайт для субъективных вопросов. Это место для вопросов, которые напрямую не связаны с кодом, например. выбор языка. Хороший вопрос. +1 – Jonas