最近,我已经爱上了爱与Perl作为一个跨平台的通用脚本语言,Python的niether红宝石也不曾真正吸引我满意。
但我已经越来越熟悉的JavaScript在浏览器中,它越来越当代引擎如V8相当不错的表现,和node.js中已经真正起飞了几年了。
但node.js中适用于服务器端网络编程为主。 当它宣布自己在其主页上:
基于V8事件驱动I / O服务器端JavaScript环境。
我想知道,如果node.js的也是目前适合作为在* nix和Windows的通用脚本语言作为一种替代的Perl,Python和Ruby。
我不觉得以这种方式使用的是多谈但它似乎有一个广泛的社会,我还没有发现任何东西说这是不适合这种应用。 它是否被广泛使用这种方式? 抑或是缺乏关键的功能或模块的这种类型的事情?
在Node.js的方面,我看不出它成为使用JavaScript作为通用脚本语言的主流方式。 造成这种情况的主要原因是在Node.js的可用库和功能的99%的异步性质 由于异步性,你必须彻底改变你的思维。 不具有同步的方法可用是绊脚石。 这使得像为你的代码不再是线性的东西少脚本。
因此,通过没有发生的原因很简单,大多数的你在想的时候:我可以写这个快了很多/简单的拼音/ Python / ...(只是尝试下载5个不同的文件,他们荏苒并复制它们使用Node.js的另一个文件夹)
由于人们越来越习惯于思考和编程异步的方式采用的Node.js作为通用脚本工具可能会改变。
如果在每个节点异步函数有一个同步版本,采用会有所不同,人们会已经结束了与非可扩展的Node.js服务器,因为他们选择使用同步方法的地方。 可以说,节点就不会成为通用的业绩数字也不会使它脱颖而出。
简而言之:
通过node.js中的正在发生的事情,因为它的异步性质。 通过node.js中用作客户端通用脚本工具的情况并非如此,由于它缺乏同步功能。
请记住,这是根据我自己的经验和意见,而不是物品或者我在互联网上找到这样尝试一下自己,弥补自己的观点号码。
文章来源: Is node.js a viable alternative to traditional scripting languages like Perl and Python? [closed]