Node.js 的产生和 Erlang 是否有关联?

唯一的关联。Node的包管理平台是CouchDB。CouchDB是在Erlang的基础上写的。
■网友
就我的了解,node.js不是使用actor模型实现的。简单一点说,异步事件处理库 + V8引擎 +JS
■网友
稍微了解啦一下1. Node.js是一个线程的事件处理 + 底层异步IO2. 其他语言可以利用多线程( CSP ?)协作式,即由代码决定何时挂起和重启子线程,yield什么的,在此之上,处理好共享数据 (比如每个线程给一个mailBox,可以选择定时检查里面是否有数据,没有就挂起,让给其他线程) 做成Actor模型的风格3. Erlang的调度器很厉害, 抢占式,时间片轮询,优先级这些,还可以多核
■网友
我倒没看出 node.js和erlang有什么联系,至少觉得node.js应该跟evented IO关系大一些。如果你在找一门有Actor的语言而且参考了Erlang,不妨了解下dart,它的Isolate设计是受Erlang 的灵感激发的。 http://www.dartlang.org
■网友
nodejs给我的感觉呢,就是用js在libuv上做一个封装,利用js的语言特性,方便写出异步回调,要是在c语言中写callback维护异步过程的上下文是一件很痛苦的事情,整个业务逻辑被io生生的分割成好几个callback。既然这样那就让js来干这件事吧,反正js可以到处定义匿名函数,然后上下文也不是那么难维护了,就是得小心,一定要清楚你的那些操作是异步的,一个callback嵌套一个callback,最后next返回了。erlang还没写过几行代码,在学中,现在的感觉就是erlang比nodejs帅太多,erlang可以让你脱离底层io的细节,进程与进程(erlang中的进程)间的通信是非常的方便,帅的掉渣。我觉着nodejs连python的gevent都比不了,就别和erlang去比较了,苦逼的异步回调没有协程解决方案那么优雅,js写法也没有python简洁漂亮,至于效率我没有比较过,不好怎么说。


    推荐阅读