erlang在1991年由爱立信公司向用户推出了第一个版本,经过不断的改进完善和发展,在1996年爱立信又为所有的erlang用户提供了一个非常实用且稳定的otp软件库并在1998年发布了第一个开源版本。目前erlang同时支持的操作系统有linux,windows,unix等,可以说适用于主流的操作系统上,尤其是它支持多核的特性非常适合现在的多核cpu,而分布式特性也可以很好融合目前的各种分布式集群。
erlang是通用的,或者您可以说是一种功能编程语言和运行时环境。它的构建方式使其对并发,分发和容错具有内在的支持。erlang最初是为在多个大型电信系统中使用而开发的。但是,它现在已经慢慢涉足电子商务,计算机电话和银行业等不同领域。
erlang近些年在国内的发展十分迅速,主要用于游戏服务器系统开发。erlang上手容易,容错率高,快速迭代等优点非常适用于页游和手游的开发。尤其以广州,深圳等一些中,小型的游戏公司几乎都是用erlang。以c 为基础语言的游戏服务器系统需要长时间的技术积累,并且c 的开发效率不如erlang,高额的招人成本对新兴公司也是巨大的挑战。但中小型公司注重产品大于技术,这对erlang在于国内的发展是不利的,大部分公司都用着同一套已经成型的erlang框架,着重于处理具体的业务逻辑忽视了底层优化。这对于erlang的发展是极其不利的。
erlang在国外发展的时间较长作为一种成熟的语言已经得到了证实,目前应用于包括爱立信的宽带,gprs和atm交换九游会真人第一品牌的解决方案系统等几百个重大的开发项目,有着丰富的项目经验,编程框架(otp)为erlang系统的提供了一套实现健壮性和容错性的工具和类库和完整的结构化框架。但相较于国内用于游戏开发,国外主要用于web服务,计算机电话,消息系统和商业银行等领域。在本世纪初erlang.org网站总共有36000个网页左右,十年之后,这一数字上升到了280万,这说明erlang社区不断的在扩大,包括商业,研究与开源项目,病毒营销,书籍和博客的组合,当然这些都源自于erlang最初的设计-用于解决特定领域难题的需求和推动。
对于大多数程序语言,第一个入门编程代码便是"hello world!",以下代码为使用erlang输出"hello world!":
% hello world program -module(helloworld). -export([start/0]). start() -> io:fwrite("hedddllo, world!\n").
本教程是为有志于在游戏,电信,银行,即时消息,电子商务和计算机电话领域中职业的专业人员准备的。本教程将使您对这种编程语言有足够的了解,还可以帮助您构建对可伸缩性有更高要求的可扩展软实时系统。
在继续本教程之前,您必须具备使用以下语言(例如c或c ,java,python,ruby)进行编程的一些基本知识。此外,对一些函数式编程语言(例如clojure,haskell,scala或ocaml)进行一些实用的编程知识,以在erlang上进行高级编程也可能会有所帮助。