Erlang是一种通用的并行程序设计语言,它由乔·阿姆斯特朗在瑞典电信设备制造商爱立信所辖的计算机科学研究室开发,目的是创造一种可以应付大规模开发活动的程序设计语言和运行环境。Erlang于1987年发布正式版本,最早是爱立信拥有的私有软件,经过十年的发展,于1998年发表开放源代码版本。
Erlang是运作于虚拟机的解释型语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)[1]开发的原生代码编译器,自R11B-4版本开始,Erlang也支持脚本方式执行。在程序设计范型上,Erlang属于多重范型编程语言,涵盖函数式、并行及分布式。循序运行的Erlang是一个及早求值, 单次赋值和动态类型的函数式编程语言。语言特色
• 并行程序设计,在语言中,可以借由spawn/*函数,将特定的函数设置为独立的进程,之后可以做跨进程通信。
• 函数式程序设计,由于Erlang早期以Prolog开发制成,受语言特性影响,即成为函数式语言。
• 单次赋值,每个变量只能跟数据绑一次,所以,不像一般程序设计语言的变量可以多次指定为不同的值。单次赋值的好处是状态单纯,使程序容易阅读。
• 及早求值或严格求值 Erlang基本求值策略为电脑语言中及早求值之特性。而且,可以借由明确使用无参数的λ表达式,将特定函数设置为惰性求值策略。
• 动态数据类型与类型系统 有编译时期的类型检查系统支持。
• 快速