Erlang 커뮤니티는 기본적으로 비 블로킹 I / O를 수행하고 둘 이상의 프로세서 (노드 .js에 내장되지 않은 프로세서)로 배포를 쉽게 확장 할 수있는 방법이 있기 때문에 Node.js를 부러워하지 않는다고 생각합니다. http://journal.dedasys.com/2010/04/29/erlang-vs-node-js 및 Node.js 또는 Erlang에 대한 자세한 내용
하스켈은 어떤가요? Haskell은 Node.js의 이점 중 일부, 즉 멀티 스레드 프로그래밍에 의존하지 않고 I / O를 차단하지 않는 깨끗한 솔루션을 제공 할 수 있습니까?
Node.js에는 매력적인 것들이 많이 있습니다
- 이벤트 : 스레드 조작이 없으며 프로그래머는 스냅 프레임 워크에서와 같이 콜백 만 제공합니다.
- 콜백은 단일 스레드에서 실행되도록 보장됩니다. 경쟁 조건이 없습니다.
- 훌륭하고 간단한 유닉스 친화적 API. 보너스 : 탁월한 HTTP 지원. DNS도 가능합니다.
- 모든 I / O는 기본적으로 비동기입니다. 이렇게하면 잠금을 피하기가 더 쉬워집니다. 그러나 콜백에서 너무 많은 CPU 처리는 다른 연결에 영향을 미칩니다 (이 경우 작업은 더 작은 하위 작업으로 분할되고 다시 예약되어야 함).
- 클라이언트 측과 서버 측에 동일한 언어. jQuery와 Node.js는 이벤트 프로그래밍 모델을 공유하지만 나머지는 매우 다릅니다. 서버 측과 클라이언트 측 사이에서 코드를 공유하는 방법을 볼 수는 없습니다. 실제로 유용합니다.)
- 이 모든 것이 단일 제품으로 포장됩니다.