面向并发的编程语言Erlang,在全球范围内其实属于小众语言,但却拥有着强大的并行处理能力和容错机制,并在二十余载后的如今却仍能保持生机,你不想了解一下吗?
整理
弯月责编
郑丽媛
Erlang是一门通用编程语言,主要用途是构建并发应用程序,由JoeArmstrong在瑞典电信设备制造商爱立信所辖的计算机科学研究室开发,目的是创造一种可以应付大规模并发活动的程序设计语言和运行环境。Erlang于年发布正式版本,最早是爱立信拥有的私有软件,经过十年的发展,于年发表开放源码版本。现在Erlang主要用于电信行业、Web应用、分布式计算、即时消息、电子商务等领域,负责处理大规模的并发持续连接。
Erlang颇受欢迎的特点包括:
●高并发:Erlang程序员可以处理分布式环境中来自多个来源的输入。
●容错性:即使一部分程序出错,整个系统也能继续运行,所以非常适合必须长期运行的系统,如Web应用程序,或电信平台。
●代码热加载,更新代码和修改程序不需要重启系统。
●采用消息传递方式代替共享变量,因此进程间通信的并发程度更高。
●垃圾回收,提供自动的内存管理,同时提高速度和性能。
然而,Erlang的缺点之一在于入门难度高于常见的编程语言。作为一种函数式语言,对于新手程序员来说,Erlang的学习曲线很陡峭。
Erlang的历史
Erlang语言由爱立信的员工JoeArmstrong,RobertVirding和MikeWilliams于年开发。开发该语言的最初目的是为了改进电信应用程序。该语言的设计很大程度上受到了PLEX语言的影响。
Erlang的第一个版本是用Prolog实现的,但该版本太慢,无法用于电话交换机上。于是,开发团队于年开发了BEAM虚拟机。
BEAM可以将Erlang代码编译成C代码。从此,Erlang开始应用到实际生产中。
但是,年,爱立信禁止在任何新产品中使用Erlang,因为他们打算将所有产品迁移到非私有的技术上。
由于这项限制,Erlang的主要作者JoeArmstrong和其他Erlang程序员开始重新设计Erlang,最后于年以开源形式发布了新的Erlang。此后,Erlang受到了整个电信界的