Node.js 事件循环作为语言构造公开的其他语言(框架)?

Node.js 事件循环作为语言构造公开的其他语言(框架)?,node.js,event-loop,Node.js,Event Loop,它说: “节点在设计上与和类似 受Ruby等系统的影响 事件机或Python的Twisted。 节点稍微接受了事件模型 此外,它还将事件循环表示为 一种语言结构,而不是作为 图书馆。” 是否有其他框架或语言同样公开了事件循环?老实说,我认为目前没有什么可以与Node.js相比 为什么??基本上是因为JavaScript从一开始就是单线程的,这使得语言演变成今天的样子,一种非常适合异步编程的语言,就像你在Node.js中所做的那样 如果您想要类似节点的体验,作为一类对象的函数以及闭包都是必须的。例

它说:

“节点在设计上与和类似 受Ruby等系统的影响 事件机或Python的Twisted。 节点稍微接受了事件模型 此外,它还将事件循环表示为 一种语言结构,而不是作为 图书馆。”


是否有其他框架或语言同样公开了事件循环?

老实说,我认为目前没有什么可以与Node.js相比

为什么??基本上是因为JavaScript从一开始就是单线程的,这使得语言演变成今天的样子,一种非常适合异步编程的语言,就像你在Node.js中所做的那样

如果您想要类似节点的体验,作为一类对象的函数以及闭包都是必须的。例如,您也可以在事件库周围封装普通C并使用它。但那会有多有趣呢?即使使用twisted,您也无法接近Node.js体验

第二点是Node.js除了
fs
模块的sync函数外,没有阻塞函数,因此尽管您可以用Python进行这种风格的编程,但您永远无法确定库调用是否不会阻塞整个程序。并降低服务器的吞吐量

节点也很快,就像在真的很快。V8绝对领先于Python和Ruby,是的,您可以为两者编写C扩展,但也可以为Node.js编写C扩展。使用V8的另一个优点是,谷歌在该引擎上投入了大量的时间/金钱,另一项高达2倍的改进已经在进行中

js有更多优点,它是一个完整的框架(Twisted主要是异步网络)和JavaScript

后一种可能听起来很愚蠢,但重复使用代码、不必进行上下文切换的能力,以及能够使用成熟的框架进行DOM操作(好吧,也就是说只要jsom进入更稳定的状态)是另一个致命的特性

如果您还没有完成,我建议您观看我们网站上列出的几场演讲。
特别是YUI one显示了在不久的将来等待我们的可能性

总之:

虽然有相当多的框架有一个事件循环,但是仅仅有一个循环本身并不能给你和Node.js一样的体验,因此,在使用C或Java进行操作时,您不应该期望有类似的体验。

对于Java平台,我想您可以将其与node进行比较。js

Tcl一直都有这种能力(过去20年)。看


这并不是说Tcl做——或者应该做——Javascript和/或node.js所做的一切。但是对于“其他框架或语言……同样公开事件循环”的问题,这是一个有效的答案。

是的,它有一个事件循环,但这是它们的共同点,我也可以用C编写,Java本身对这种编程几乎没有支持。js编码感觉更自然,但使用这两种工具,您可以以非阻塞方式编写相同的应用程序。你的回答有点无缘无故的node.js福音,没有回答这个问题。你本可以停止你的评论“我不认为有什么东西是可比的”,而仅仅是对这个问题的评论。无论如何,这对我来说是一个反问:我知道Tcl一直都是一个有效的答案。我不会“接受”我自己的答案,直到有足够的时间让其他人对这个问题提供其他可能更全面的答案(Tcl以外的其他语言?),然后更改你问题的标题。“作为语言结构公开?”我读到,当你编写异步代码时,应该感觉100%自然,你不必担心每一个电话都有可能被屏蔽。加上“where it feel 100%natural”会让我的问题标题更准确吗?我认为这会使它变得不那么精确,因为这(“感觉”)完全是主观的。这里的想法是在node之外获得答案,以便我们可以从其他框架/语言中学习