Erlang在1991年由愛立信公司向用戶推出了第一個(gè)版本,經(jīng)過不斷的改進(jìn)完善和發(fā)展,在1996年愛立信又為所有的Erlang用戶提供了一個(gè)非常實(shí)用且穩(wěn)定的OTP軟件庫并在1998年發(fā)布了第一個(gè)開源版本。目前Erlang同時(shí)支持的操作系統(tǒng)有l(wèi)inux,windows,unix等,可以說適用于主流的操作系統(tǒng)上,尤其是它支持多核的特性非常適合現(xiàn)在的多核CPU,而分布式特性也可以很好融合目前的各種分布式集群。
Erlang是通用的,或者您可以說是一種功能編程語言和運(yùn)行時(shí)環(huán)境。它的構(gòu)建方式使其對(duì)并發(fā),分發(fā)和容錯(cuò)具有內(nèi)在的支持。Erlang最初是為在多個(gè)大型電信系統(tǒng)中使用而開發(fā)的。但是,它現(xiàn)在已經(jīng)慢慢涉足電子商務(wù),計(jì)算機(jī)電話和銀行業(yè)等不同領(lǐng)域。
Erlang近些年在國內(nèi)的發(fā)展十分迅速,主要用于游戲服務(wù)器系統(tǒng)開發(fā)。Erlang上手容易,容錯(cuò)率高,快速迭代等優(yōu)點(diǎn)非常適用于頁游和手游的開發(fā)。尤其以廣州,深圳等一些中,小型的游戲公司幾乎都是用Erlang。以c++為基礎(chǔ)語言的游戲服務(wù)器系統(tǒng)需要長時(shí)間的技術(shù)積累,并且c++的開發(fā)效率不如Erlang,高額的招人成本對(duì)新興公司也是巨大的挑戰(zhàn)。但中小型公司注重產(chǎn)品大于技術(shù),這對(duì)Erlang在于國內(nèi)的發(fā)展是不利的,大部分公司都用著同一套已經(jīng)成型的Erlang框架,著重于處理具體的業(yè)務(wù)邏輯忽視了底層優(yōu)化。這對(duì)于Erlang的發(fā)展是極其不利的。
Erlang在國外發(fā)展的時(shí)間較長作為一種成熟的語言已經(jīng)得到了證實(shí),目前應(yīng)用于包括愛立信的寬帶,GPRS和ATM交換解決方案系統(tǒng)等幾百個(gè)重大的開發(fā)項(xiàng)目,有著豐富的項(xiàng)目經(jīng)驗(yàn),編程框架(OTP)為Erlang系統(tǒng)的提供了一套實(shí)現(xiàn)健壯性和容錯(cuò)性的工具和類庫和完整的結(jié)構(gòu)化框架。但相較于國內(nèi)用于游戲開發(fā),國外主要用于web服務(wù),計(jì)算機(jī)電話,消息系統(tǒng)和商業(yè)銀行等領(lǐng)域。在本世紀(jì)初Erlang.org網(wǎng)站總共有36000個(gè)網(wǎng)頁左右,十年之后,這一數(shù)字上升到了280萬,這說明Erlang社區(qū)不斷的在擴(kuò)大,包括商業(yè),研究與開源項(xiàng)目,病毒營銷,書籍和博客的組合,當(dāng)然這些都源自于Erlang最初的設(shè)計(jì)-用于解決特定領(lǐng)域難題的需求和推動(dòng)。
對(duì)于大多數(shù)程序語言,第一個(gè)入門編程代碼便是"Hello World!",以下代碼為使用erlang輸出"Hello World!":
% hello world program -module(helloworld). -export([start/0]). start() -> io:fwrite("Hedddllo, world!\n").測試看看 ?/?
本教程是為有志于在游戲,電信,銀行,即時(shí)消息,電子商務(wù)和計(jì)算機(jī)電話領(lǐng)域中職業(yè)的專業(yè)人員準(zhǔn)備的。本教程將使您對(duì)這種編程語言有足夠的了解,還可以幫助您構(gòu)建對(duì)可伸縮性有更高要求的可擴(kuò)展軟實(shí)時(shí)系統(tǒng)。
在繼續(xù)本教程之前,您必須具備使用以下語言(例如C或C ++,Java,Python,Ruby)進(jìn)行編程的一些基本知識(shí)。此外,對(duì)一些函數(shù)式編程語言(例如Clojure,Haskell,Scala或OCaml)進(jìn)行一些實(shí)用的編程知識(shí),以在Erlang上進(jìn)行高級(jí)編程也可能會(huì)有所幫助。