Erlang語言


1、Erlang介紹

  Erlang是一種通用的面向並發的編程語言,它由瑞典電信設備制造商愛立信所轄的CS-Lab開發,目的是創造一種可以應對大規模並發活動的編程語言和運行環境。Erlang問世於1987年,經過十年的發展,於1998年發布開源版本。Erlang是運行於虛擬機解釋性語言,但是現在也包含有烏普薩拉大學高性能Erlang計划(HiPE)開發的本地代碼編譯器,自R11B-4版本開始,Erlang也開始支持腳本式解釋器。在編程范型上,Erlang屬於多重范型編程語言,涵蓋函數式、並發式及分布式。順序執行的Erlang是一個及早求值, 單次賦值和動態類型的函數式編程語言。

  Erlang 是一個結構化,動態類型編程語言,內建並行計算支持。最初是由愛立信專門為通信應用設計的,比如控制交換機或者變換協議等,因此非常適 合於構建分布式,實時軟並行計算系統。使用Erlang編寫出的應用運行時通常由成千上萬個輕量級進程組成,並通過消息傳遞相互通訊。進程間上下文切換對 於Erlang來說僅僅只是一兩個環節,比起C程序的線程切換要高效得多得多了。

  使用Erlang來編寫分布式應用要簡單的多,因為它的分布式機制是透明的:對於程序來說並不知道自己是在分布式運行。Erlang運行時環境是一個虛擬機,有點像Java虛擬機,這樣代碼一經編譯,同樣可以隨處運行。它的運行時系統甚至允許代碼在不被中斷的情況下更新。另外如果需要更高效的話,字節代碼也可以編譯成本地代碼運行。

2、Erlang語言特點

1)並發性 - Erlang支持超大量級的並發進程,並且不需要操作系統具有並發機制。

2)分布式 - 一個分布式Erlang系統是多個Erlang節點組成的網絡(通常每個處理器被作為一個節點)

3)健壯性 - Erlang具有多種基本的錯誤檢測能力,它們能夠用於構建容錯系統。

4)軟實時性- Erlang支持可編程的“軟”實時系統,使用了遞增式垃圾收集技術。

5)熱代碼升級-Erlang允許程序代碼在運行系統中被修改。舊代碼能被逐步淘汰而后被新代碼替換。在此過渡期間,新舊代碼是共存的。

6)遞增式代碼裝載-用戶能夠控制代碼如何被裝載的細節。

7)外部接口-Erlang進程與外部世界之間的通訊使用和在Erlang進程之間相同的消息傳送機制。

8)Fail-fast(中文譯為速錯),即盡可能快的暴露程序中的錯誤。

9)面向並發的編程(COP concurrency-oriented programming)

10)函數式編程

11)動態類型

12)及早求值或嚴格求值

13)腳本語言

3、Erlang源碼安裝

安裝依賴包
yum -y install gcc glibc-devel make ncurses-devel openssl openssl-devel autoconf gcc-c++ kernel-devel m4  unixODBC unixODBC-devel
yum -y install wxGTK wxGTK-devel fop libxslt libxslt-devel
wget http://www.erlang.org/download/otp_src_18.0.tar.gz
tar xzvf otp_src_18.0.tar.gz
cd otp_src_18.0
./configure \
--enable-threads \
--enable-smp-support \
--enable-kernel-poll \
--enable-native-libs \
--without-javac
make && make install

配置erlang環境
vi /etc/profile
export PATH=$PATH:/usr/local/erlang/bin

# whereis erlang
erlang: /usr/local/erlang

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM