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