Wierzę, że społeczność Erlang nie jest zazdrosna o Node.js, ponieważ natywnie blokuje operacje we / wy i ma sposoby na łatwe skalowanie wdrożeń na więcej niż jednym procesorze (coś, co nie jest nawet wbudowane w Node.js). Więcej informacji na http://journal.dedasys.com/2010/04/29/erlang-vs-node-js i Node.js lub Erlang
Co z Haskellem? Czy Haskell może zapewnić niektóre korzyści z Node.js, a mianowicie czyste rozwiązanie, aby uniknąć blokowania I / O bez konieczności programowania wielowątkowego?
Istnieje wiele rzeczy, które są atrakcyjne w Node.js
- Zdarzenia: Brak manipulacji wątkiem, programista zapewnia tylko wywołania zwrotne (jak w środowisku Snap)
- Oddzwanianie jest gwarantowane w jednym wątku: nie jest możliwy żaden wyścig.
- Ładny i prosty interfejs API przyjazny dla UNIX. Bonus: doskonała obsługa HTTP. DNS również dostępny.
- Każde wejście / wyjście jest domyślnie asynchroniczne. Ułatwia to unikanie zamków. Jednak zbyt duże przetwarzanie procesora w wywołaniu zwrotnym wpłynie na inne połączenia (w tym przypadku zadanie powinno zostać podzielone na mniejsze podzadania i ponownie zaplanowane).
- Ten sam język dla klienta i serwera. (Jednak nie widzę w tym zbyt dużej wartości. JQuery i Node.js współużytkują model programowania zdarzeń, ale reszta jest zupełnie inna. Po prostu nie widzę, w jaki sposób współdzielenie kodu między serwerem a klientem może przydać się w praktyce).
- Wszystko to zapakowane w jeden produkt.