在技术层面上,和Erlang/OTP 相比,Node.js有什么优势
发布网友
发布时间:2022-04-23 19:46
我来回答
共1个回答
热心网友
时间:2022-04-19 02:43
Node.js 最适用的领域就是基于 TCP/UDP 的网络处理。这包括流量转发、统计、分析、变换。以及更普遍的,在网络之上建立 Web 服务等。
显然,这些任务在其他语言中早已能够解决,但 Node.js 在处理这些问题时比其他语言简单——因为 Node.js 将并发隐藏在了底层,而对于程序员来说仿佛整个系统就是顺序执行的一样(访问数据不用加锁了,谢天谢地;回调可以直接写成匿名函数了,哦,还能利用闭包,太棒了……)。而且在简单性同时还能保证性能不错。简直是便宜实惠量又足。
但是后来随着业务系统的膨胀,Node.js 的一些问题开始困扰我们。一个突出的问题在于,尽管相对来说 Node.js 的可伸缩性已经很不错,但是由于 JavaScript 语言本身设计的缺陷,其在横向扩展上的语义表达能力依然如同所有 C 家族语言一样贫乏无力。
这使得我们必须借助一些库,来将分散的并发部件委婉的进行建模。并花费大量的精力解决其中的各种阻抗和不匹配。这当然能够做到,但是需要花费的精力实在太多。于是寻找一门能够在并发问题上拥有良好语义的语言就成为了一个自然而然的选择。
为此,我考察了 Scala、Clojure、Go、Rust 等新兴语言,它们都拥有不错的并发模型,但最终给我带来深刻印象的还是 Erlang——
与大多数语言只是把并发作为一个可选的关注点不同,Erlang 是完全围绕并发为核心建立的。这一根本性的理念差异将 Erlang 和其他语言明确的区分开来。深刻的影响了其建模方法,构建理念,以及开发流程。
更重要的是,和一些玩具语言不同,Erlang 经过了强力的实践验证,是工业品质级的语言。拥有自己相对完善和健全的 OTP 平台。而且相关的调试、性能诊断工具都比较健全(很重要)。
在这些方面来看,Node.js 几乎丧失了所有可夸耀的技术性成分。
但如果真要和 Node.js 对比,恐怕相同的任务用 Erlang 完成还会要更简单一些——Erlang 中的比特位语法和位串速构让结构化数据的抽取和构造变得手到擒来,变量与模式匹配能够让一堆的判断和赋值浓缩成简洁的一行代码,这些都是让许多程序员泪流满面的东西。而监强大的容错/局部重启,以及热更新能力,更是产品级软件关注的重点。
所以在技术层面,Node.js 真的很难找到什么亮点去和 Erlang 对抗。
在技术层面上,和Erlang/OTP 相比,Node.js有什么优势
更重要的是,和一些玩具语言不同,Erlang 经过了强力的实践验证,是工业品质级的语言。拥有自己相对完善和健全的 OTP 平台。而且相关的调试、性能诊断工具都比较健全(很重要)。在这些方面来看,Node.js 几乎丧失了所有可夸耀的技术性成分。但如果真要和 Node.js 对比,恐怕相同的任务用 Erlang 完成还会...
node.js相比SpringMVC有什么优势
在技术层面上,和Erlang/OTP 相比,Node.js有什么优势 Node最大的好处,其实不是技术层面的,我认为就是一点:能让前端开发人员把后端也一起做了.别小看这一点,这对于很多Startup的专案还是很有用的,可以快速人少的就把专案做起来. 至于它里面提到的技术,什么事件驱动,回拨之类的,在一个多年做伺服...
nodejs和java的性能?
在技术层面上,和Erlang/OTP相比,Node.js有什么优势 Node最大的好处,其实不是技术层面的,我认为就是一点:能让前端开发人员把后端也一起做了.别小看这一点,这对于很多Startup的专案还是很有用的,可以快速人少的就把专案做起来. 至于它里洞铅袭面提到的技术,什么事件驱动,回拨之类的,在一个多年做伺服器的人看来...
github常用指令汇总
这个星球上最流行的开源托管服务。目前已托管431万git项目,不仅越来越多知名开源项目迁入GitHub,比如Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在GitHub首发,例如:BootStrap、Node.js、CoffeScript等。alexa全球排名414的网站。git常用指令 ...
Erlang/OTP并发编程实战基本信息
Erlang/OTP并发编程实战基础知识概览本书专注于在实际生产环境中使用Erlang进行开发,特别强调构建稳定、版本管理完善且易于维护的商业级代码。三位经验丰富的Erlang大师倾力之作,汇集了多年实战精华。本书结构分为三大部分:首先,第一章介绍Erlang编程基础和OTP的基础概念,为后续深入学习奠定扎实的基础。第二...
Erlang/OTP并发编程实战图书信息
适合对并发编程有深厚兴趣或者正在使用Erlang/OTP技术的开发者深入学习和实践。定价方面,这本书的官方售价为79.00元,对于希望提升并发编程技能的专业人士来说,这是一个性价比高的选择。无论是初学者还是经验丰富的开发者,都能在《Erlang/OTP并发编程实战》中找到适合自己的学习资料和实战指导。
coding持续集成之自动发布
nodejs: 10.15.3 php: 7.3.5 ruby: 2.6.0 go: 1.12.4 dotnet-core: 2.2 erlang: Erlang/OTP 21 elixir: 1.8.1 默认环境中提供的命令行工具以及对应的版本如下(更新日期:2019 年 11 月 30 日):cmake: 3.5.1 maven: 3.6.1 gradle: 4.10.3 nvm: 0.34.0 yarn: 1....
使用Erlang application有什么好处
1、ErlangApplication 生成一个行为模式为OTP应用程序行的框架。2、ErlangSupervisor 生成一个行为模式为OTP监督树的框架。3、ErlangGen[Server|Fsm|Event] 生成gen_server,fsm,event框架。Vimerl是不是太聪明了。在你阅读完之前,我想让你知道一条非常有用的,而且你应该知道的命令,那就是 :help vim...
在技术层面上,和Erlang/OTP 相比,Node.js有什么优势
更重要的是,和一些玩具语言不同,Erlang 经过了强力的实践验证,是工业品质级的语言。拥有自己相对完善和健全的 OTP 平台。而且相关的调试、性能诊断工具都比较健全(很重要)。在这些方面来看,Node.js 几乎丧失了所有可夸耀的技术性成分。但如果真要和 Node.js 对比,恐怕相同的任务用 Erlang 完成还会...
nodejs和java的性能?
在技术层面上,和Erlang/OTP相比,Node.js有什么优势 Node最大的好处,其实不是技术层面的,我认为就是一点:能让前端开发人员把后端也一起做了.别小看这一点,这对于很多Startup的专案还是很有用的,可以快速人少的就把专案做起来. 至于它里洞铅袭面提到的技术,什么事件驱动,回拨之类的,在一个多年做伺服器的人看来...