当前位置:首页 > 短信快讯 > 正文内容

“erlang”怎么读?erlang运行环境?

370SEO9个月前 (02-02)120

“erlang”怎么读?

这个发音确实纠结,虽然我们部门常年都用erlang做开发,但是读音还是不统一,
有读“伊朗”的,也有读“二郎”的,也有读“厄兰”的,但是据说官方是erlang [ә:læŋ]
n.[电信]厄兰,其实无所谓怎么读,懂的人自然知道,不过我们业内读的最多的还是
“二郎”或“尔浪”,本人也倾向于这种读法。

erlang运行环境?

Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果你需要更高效的话,字节代码也可以编译成本地代码运行。

下面分享相关内容的知识扩展:

有学Erlang的吗 大家一起学

我最早使用的语言是Java和Python, 并且一直都对Python充满好感, 我喜欢这种很朴实和高效率的感觉, 但我却最后没有采用Python,原因其实也很简单, 我就是不喜欢缩进语法, 就跟很多人换工作仅仅是为了屏幕更大一点一样, 另外就是有了同样很棒的可选方案, 这就是Ruby, 所以我最终采用了Ruby作为主力编程语言, 同样也为不能使用Python而有一点小遗憾,毕竟Python的健壮性比Ruby好很多,只不过Ruby也一直在进步, 所以这一点无伤大雅

我们都知道,无论是Python还是Ruby,甚至Java, 都是在解决业务层的问题, 属于应用型语言, 以解决业务逻辑为主, 但还有一个领域是系统领域,偏网络层和底层操作,在这一块我一直在寻找一种优雅的方案, C++被我首先给淘汰掉了, C的开发效率太低, Java倒是比较合适, 就是太臃肿,而且缺少系统编程的基因,毕竟它是级开发出身的

最后我选择了Erlang, 因为它在网络层方面表现优秀, 同时容错性和健壮性都很不错, 它的虚拟机是唯一可以跟JVM媲美的, 而且还有OTP的超重量级武器, 几乎可以是通杀网络层应用, 但根据我的总结它有一个硬伤和一个软肋,这一点后面展开,可以说选择Erlang是我目前所知道的方案里面是更优的

直到有一天我了解了Golang, 我知道Golang其实也蛮早的, 大概08年的时候就知道Google在搞一门奇怪的语言, 之后的几年,一直有不少以老莫为代表的人在嘀咕Golang, 其实我一直没太关注,我从ROR中吸取的经验是,成熟度对于商用很重要, 后来基于Golang开发的产品越来越多,让我不得不去研究一下, 这我才知道, 这就是我梦想中的Python, 效率和性能达到了更佳的平衡,对Go了解越多, 就越不愿意用Erlang写代码,主要原因:

1、Erlang的硬伤在于代码的可读性、表现力, 让我来举个小例子, 比如你为你的系统构建一个RESTFUL的接口,我们大致了解一下代码风格,先不说Erlang, 无论是你c/c++/python/ruby/java 出身, 对Go是不是有种很久违的感觉, 为什么说是硬伤? 因为对一门语言来说,语法是不大可能会大幅度变更的, 而且不会出现大的变化, 我不知道有没有人读过《松本行弘的编程世界》,里面阐述的道理很明白, 真正好的编程方式是人去主宰计算机而不是计算机主宰人, 我感觉Erlang就有点主宰我的编程思维的感觉(我的视力本身就不好,它还在不断的扼杀我的眼睛!), 编程首先是门逻辑学,其次是工程学,最后才是数学, 又让我想起吴军的《数学之美》所说的, 人工智能上个世纪一直在走弯路, 期望机器的高度图灵完备, 而忽视人类本身已有的文明,统计归纳的应用

2、Erlang的软肋在于高质量的库少,尽管有不少杀手级应用, 同样Go在这方面也是软肋, 这一点对于一个不到五年的语言有情可原, 但对于一个20多年的语言是不是有点说不过去, 比如你用json解析库,很多人都是从mochiweb这个基本不更新的库中去抽取, 而我认为对于类似json这种东西可以考虑融入到语言标准库中, 因为未来的商业的api化趋势越来越明显,说的难听点 , 一个倚老卖老一个与时俱进,反正我对Golang的库一点也不担心, 目前的成绩易经非常棒了, 远远优于Ruby/Python的前五年, 可参见已有的高质量的库列表

3、Erlang不合群, 这主要体现在跟其他语言的交互性上, 当然这也有深层次的原因, Erlang本身有自己的哲学, 如出错恢复机制, 你融入一个其他语言的东西进去, 这帐就不好算,就好比你硬要让一个喝咖啡的跟一个吃大蒜的坐在一起, 总之你写一个Erlang的port远远比Go复杂, 甚至比Python/Java还要复杂, 这就造成了Erlang在底层编程上效果不是很好, 没法利用linux已有的很多优秀成果,我一直认为Erlang的什么的mysql/pg/oracle驱动都没有必要存在, Erlang一定是一个self-container应用, 你只要用到了其他东西, 根据木桶理论, 你就不敢号称9个9,以系统的眼光看问题, 我觉得一个系统的鲁棒性不能依赖于某一组件, 这也是为什么爱立信本身的Erlang应用并不广泛

4、说说数据类型吧, 我不止听到1个人说Erlang对字符串的处理不有好, 它把string当做list来处理,其实本质上是该这么,但,还是那句话, 违背了面向人的哲学, 应该做一些DSL, 比如Golang里面的 := 就是一个糖衣, 等价于 var xx yyy = zzzz, 大大方便的程序员少敲不少字符, Golang里面对字符转可以说基本和python差不多, slice map函数很强大, 支持lambda条件,虽然Erlang的基本类型很少, 但有很多构造, 所谓构造等价于Golang里面复杂的struct, 也奇怪了,我就是感觉Erlang构造伤眼睛好吗?可能是各种括号的比对的原因吧, 而且我认为这是不必要的, 显然Erlang缺少DSL的基因, 当然跟Erlang出身的年代有关, 我不夸张的说, 自打用Erlang以后我的视力又下降了100度左右, 我不是很喜欢lisp所说的符号也是一种语法, 可能这又跟函数式编程有关吧:形式推导远大于逻辑演绎

5、其实我最不关注的是性能问题, 因为随着摩尔定律, 单位计算单元的性价比会无限高,但Golang既然提出它的性能逼近C, 那我还是提一下吧, 当然, Erlang也还可以, 虽然比Java慢, 但跟Python一个档次吧

6、再谈谈报错机制, 因为Erlang的的报错信息太让人纠结了, 起初以为我不会看出错信息, 后来也使用了Sasl, 还是不够直观,甚至有时要用工具分析crash文件来定位问题,还是跟Erlang的哲学有关, 在Erlang中一切都是并行的, 所以它根本不care是物理哪一行出错, 只跟Actor绑定, 然后告诉你Actor的ID和出错代号, 你自己凭经验去分析吧,这样做的好处是可以很方便定位出并行中出现的问题,但凡事都是相对的, 在这一点上有点纠枉过正,根据我的经验, 绝大部分时候我只希望先给我明确的指出哪一行出错了好吗? 甚至把顺序的backtrace用完整的英文句子打印出来好吗?至于并行中的错误及时在命令式多线程语言中是不常见的,虽然并不是没有, 但遇到错误我再费劲去调试好了, 但并不是所有的逻辑都用并行的思维去定位问题, 我甚至认为, 对于一个系统不完全是并行也不完全是串行,跟好比我们衡量世界不能单纯的唯物也不能完全的唯心一样, 这一点Golang就做了很好的折中, 不需要并行的时候你老老实实的写串行代码, 需要并行的时候也有较复杂的机制来应对, 合乎情理

7、再说说招人吧, 以前招过好几个C出来的人,说实话水平很好, 可以一周就完成一个小组件, libevent用的熟的很,后来我逼人家用Erlang,结果把人家逼走了,至今我还很后悔, 自己的一厢情愿强加在别人身上真是太不合适了,但我招纯Erlang出来的人,可以说比招objc的人还难, 没有人,空谈技术的优雅性首先就是不靠谱的,再看看列表, Golang的活跃度明显比Erlang高很多, 基本逼近Ruby,更重要的是, 我根本不担心Golang的人才,因为只要熟悉Python/C/Ruby/或者C++, 基本可以实现半天入门, 之后就可以噼里啪啦边搜资料边干活了,虽然有足够的深度,但门槛极其平缓,工程人员也可以复用很多已有的知识。 Erlang在这一点其实跟之一点硬伤有关,大部分人学一周都摸不着头脑,不是每个人的抽象思维和世界观都是一样的好吗, 所以函数式编程尽管不比命令式语言起步晚,但始终学的人很少,这就是历史, 对于大部分人, 更希望解决问题,创造价值, 而不是数学来推导去

8、最后我建议, 如果你是玩c/c++的, 现在开始学Golang,是更好的时机, 跟一门靠谱的语言一起成长, 这种感觉非常棒, 你用Erlang折腾1个应用, 用Go恐怕都完成了10个开源项目, 当然,也要结合自己的口味, Golang就是Sublime Text, Erlang就是Emacs

相信自己的判断,相信自己的逻辑, 赢就是赢,输就是输
转载仅供参考,版权属于原作者。祝你愉快,满意哦

排查erlang应用vm占用内存过大的思路

如果现在使用top命令,你发现erlang的beam. *** p进改让程占用了码亩很大的内存,这个时候该如何下手定为问题?
有几个迟歼森思路:

步骤1对应的 ***

Erlang怎么安装?Windows下erlang otp 21安装步骤详解+环境变量配置

Erlang是一种通用的面向并发的编程语言,由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。

Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断 的情况下更新。另外如果需要更高效的话,字节代码也可以编译成本地代码运行。

安装教程

1、下载安装软件erlang otp,next下一步

2、选择安装目录

3、选择启动文件,安装

4、安装中

5、安装完成

配置系统环境:

1、打开计算机→属性→高级系统设置→高级→环境变量

2、新建一个系统变量:名称ERLANG_HOME,值为本机中erlang的安装目录。

   然后再在用户变量PATH中添加上%ERLANG_HOME%\bin;

Erlang怎么安装?Windows下erlang otp 21安装步骤详解+环境变量配置

3、查看安装是否成功:cmd然后erl -version

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文链接:http://www.370seo.com/18435.html

““erlang”怎么读?erlang运行环境?” 的相关文章

“小公牛”、“老黄牛”和“小老虎”,分别指哪几类人?千里马、老黄牛、百灵鸟分别指什么人?

“小公牛”、“老黄牛”和“小老虎”,分别指哪几类人?老黄牛——勤勤恳恳,任劳任怨工作,不计个人得失的一类人。小公牛——年轻气盛,经历充沛的一类人。小老虎——生龙活虎的青年人。千里马、老黄牛、百灵鸟分别指什么人?千里马——有才华的人老黄牛——比喻老老实实工作的人百灵鸟——说话声音好听的人领头羊——权和...

乌鲁木齐联通1000兆宽带怎么样(联通1000兆宽带费用?)

乌鲁木齐联通1000兆宽带怎么样(联通1000兆宽带费用?)

乌鲁木齐联通1000兆宽带怎么样乌鲁木齐联运明通1000兆宽带速度非常快。最大能达到每秒125兆,能够满足我们日常上网的所有场景,从理论上讲可以在8秒内以1000兆的速度下载1G高清电影,这比100兆网络快10倍。看4K,2k清晰度的视频,看直播,空燃玩旁亏告游戏不会出现卡顿。联通1000兆宽带费用...

菱形的面积公式是什么呢?菱形面积公式2个

菱形的面积公式是什么呢?菱形面积公式2个

菱形的面积公式是什么呢?菱形的面积公式:菱形面积公式就是由三角形面积公式得来的。菱形面积=两个三角形面积的和。对角线乘积的一半,即S=(两对角线相乘)X1/2(只要是对角线互相垂直的四边形都可用,如正方形,菱形,记为:二分之一对角线相乘)。判断:在同一平面内,一组邻边相等的平行四边形是菱形;对角线互...

七分之六加一等于几(网上六加一等于几是什么梗)

七分之六加一等于几(网上六加一等于几是什么梗)

七分之六加一等于几答案是13/7哦,望采纳>o<网上六加一等于几是什么梗失去公信力梗。6+1=1的说法一般是指当民众对公权力失去公信力时,无论发表什么言论、无论做什么事,民众都会给以负面评价。下面分享相关内容的知识扩展:6加1等于15移动一根火柴成立6加1等于15移动一根火柴成立把“+”...

求洛克王国小天马等级技能表(洛克王国小天马可以遗传什么技能?)

求洛克王国小天马等级技能表(洛克王国小天马可以遗传什么技能?)

求洛克王国小天马等级技能表小天马/独角兽技能表: 初始 暗之诅咒 普通 威力- 令对方防御等级下降 PP30 初始 卷缩收紧 普通 威力15 2-5回合内给对手较轻伤害,但对手不能替换宠物或逃跑 PP20 5级 电磁之波 电系属性 威力- 让对手麻醉 PP20 11级 沙尘狂风 龙系...

玫瑰精油怎么用好?玫瑰精油的用法有哪些?白玫瑰精油比红玫瑰精油好吗

玫瑰精油怎么用好?玫瑰精油的用法有哪些?白玫瑰精油比红玫瑰精油好吗

玫瑰精油怎么用好?玫瑰精油的用法有哪些?玫瑰精油是从玫瑰中提取的精华物质,具有很多的作用,玫瑰精油是可以用来护肤的,具有很好的护肤作用,精油一般可以直接涂抹在肌肤上,而且还有很多其他的用法,能够发挥不同的作用,那么玫瑰精油怎么用好?玫瑰精油的用法有哪些?1、玫瑰精油的用法用法一:用于薰香利用薰香灯或...