詞語解釋
ERLANG是一種用于通信系統(tǒng)的語言,它可以用于開發(fā)和管理復雜的通信系統(tǒng),以及創(chuàng)建可靠的,可擴展的,可維護的應用程序。ERLANG是一種函數(shù)式編程語言,它有著強大的并發(fā)性和分布式性,可以支持大量的用戶。它的設計目標是構(gòu)建可靠的系統(tǒng),可以應對大量的連接和負載。 ERLANG的應用非常廣泛,它可以用于開發(fā)和管理復雜的通信系統(tǒng),以及創(chuàng)建可靠的,可擴展的,可維護的應用程序。它可以用于建立分布式系統(tǒng),如移動網(wǎng)絡,路由器,網(wǎng)絡管理系統(tǒng),電話系統(tǒng),網(wǎng)絡安全系統(tǒng),數(shù)據(jù)庫系統(tǒng)等。此外,ERLANG還可以用于開發(fā)實時系統(tǒng),如自動控制系統(tǒng),網(wǎng)絡監(jiān)控系統(tǒng),網(wǎng)絡傳輸系統(tǒng),網(wǎng)絡負載平衡系統(tǒng),實時網(wǎng)絡管理系統(tǒng)等。 ERLANG還可以用于開發(fā)大型分布式系統(tǒng),如云計算系統(tǒng),網(wǎng)絡服務,分布式存儲系統(tǒng),分布式計算系統(tǒng),網(wǎng)絡流量管理系統(tǒng),大數(shù)據(jù)處理系統(tǒng)等。ERLANG的另一個優(yōu)勢是它可以用于開發(fā)可靠的系統(tǒng),可以應對大量的連接和負載。ERLANG可以使系統(tǒng)更加可靠,可以更好地處理大量的用戶和數(shù)據(jù)。 總之,ERLANG是一種功能強大的語言,可以用于開發(fā)和管理復雜的通信系統(tǒng),以及創(chuàng)建可靠的,可擴展的,可維護的應用程序。它可以用于構(gòu)建可靠的分布式系統(tǒng),可以應對大量的連接和負載,以及開發(fā)大型分布式系統(tǒng),如云計算系統(tǒng),網(wǎng)絡服務,分布式存儲系統(tǒng)等。 1、Erl是話務量單位。話務量等于單位時間的呼叫次數(shù)與呼叫的平均占用時長的乘積。單位是ERL(愛爾蘭)。 公式:A表示話源話務量,λ表示單位時間內(nèi)發(fā)生的平均呼叫數(shù),S表示呼叫的平均占用時長,根據(jù)話源話務量的定義,則A=λ&#8226;S 2、Erlang是一種通用的面向并發(fā)的編程語言,它由瑞典電信設備制造商愛立信所轄的CS-Lab開發(fā),目的是創(chuàng)造一種可以應對大規(guī)模并發(fā)活動的編程語言和運行環(huán)境。Erlang問世于1987年,經(jīng)過十年的發(fā)展,于1998年發(fā)布開源版本。Erlang是運行于虛擬機的解釋性語言,但是現(xiàn)在也包含有烏普薩拉大學高性能Erlang計劃(HiPE)[1]開發(fā)的本地代碼編譯器,自R11B-4版本開始,Erlang也開始支持腳本式解釋器。在編程范型上,Erlang屬于多重范型編程語言,涵蓋函數(shù)式、并發(fā)式及分布式。 開發(fā)及演變歷史 Erlang得名于丹麥數(shù)學家及統(tǒng)計學家Agner Krarup Erlang,同時Erlang還可以表示Ericsson Language。 發(fā)行版本 1998年起,Erlang發(fā)布開源版本,采用修改過的Mozilla公共許可證協(xié)議進行發(fā)放,同時愛立信仍然提供商業(yè)版本的技術支持。目前,Erlang最大的商業(yè)用戶是愛立信,其他知名用戶有北電網(wǎng)絡、Amazon.com以及T-Mobile等。 當前的語言特征 Fail-fast(中文譯為速錯),即盡可能快的暴露程序中的錯誤. 面向并發(fā)的編程(COP concurrency-oriented programming). 函數(shù)式編程 弱類型 腳本語言 函數(shù)式編程 Ering函數(shù)大致寫法如下,以一個求整數(shù)階乘的模塊為例: -module(fact). -export([fac/1]). fac(0) -> 1; fac(N) when N > 0 -> N * fac(N-1). 下面是快速排序算法的一個Erlang實現(xiàn): %% quicksort:qsort(List) %% Sort a list of items -module(quicksort). -export([qsort/1]). qsort([]) -> []; qsort([Pivot|Rest]) -> qsort([ X || X <- Rest, X <= Pivot]) ++ [Pivot] ++ qsort([ Y || Y <- Rest, Y > Pivot]). 并發(fā)及分布式編程 代碼示例如下: % create process and call the function web:start_server(Port, MaxConnections) ServerProcess = spawn (web, start_server, [Port, MaxConnections]), % create a remote process and call the function web:start_server(Port, MaxConnections) on machine RemoteNode RemoteProcess = spawn(RemoteNode, web, start_server, [Port, MaxConnections]), % send the {pause, 10} message (a tuple with an atom "pause" and a number "10") to ServerProcess (asynchronously) ServerProcess ! {pause, 10}, % receive messages sent to this process receive a_message -> do_something; {data, DataContent} -> handle(DataContent); {hello, Text} -> io:format("Got hello message: ~s", [Text]); {goodbye, Text} -> io:format("Got goodbye message: ~s", [Text]) end.
1、Erl是話務量單位。話務量等于單位時間的呼叫次數(shù)與呼叫的平均占用時長的乘積。單位是ERL(愛爾蘭)。 公式:A表示話源話務量,λ表示單位時間內(nèi)發(fā)生的平均呼叫數(shù),S表示呼叫的平均占用時長,根據(jù)話源話務量的定義,則A=λ&#8226;S 2、Erlang是一種通用的面向并發(fā)的編程語言,它由瑞典電信設備制造商愛立信所轄的CS-Lab開發(fā),目的是創(chuàng)造一種可以應對大規(guī)模并發(fā)活動的編程語言和運行環(huán)境。Erlang問世于1987年,經(jīng)過十年的發(fā)展,于1998年發(fā)布開源版本。Erlang是運行于虛擬機的解釋性語言,但是現(xiàn)在也包含有烏普薩拉大學高性能Erlang計劃(HiPE)[1]開發(fā)的本地代碼編譯器,自R11B-4版本開始,Erlang也開始支持腳本式解釋器。在編程范型上,Erlang屬于多重范型編程語言,涵蓋函數(shù)式、并發(fā)式及分布式。 開發(fā)及演變歷史 Erlang得名于丹麥數(shù)學家及統(tǒng)計學家Agner Krarup Erlang,同時Erlang還可以表示Ericsson Language。 發(fā)行版本 1998年起,Erlang發(fā)布開源版本,采用修改過的Mozilla公共許可證協(xié)議進行發(fā)放,同時愛立信仍然提供商業(yè)版本的技術支持。目前,Erlang最大的商業(yè)用戶是愛立信,其他知名用戶有北電網(wǎng)絡、Amazon.com以及T-Mobile等。 當前的語言特征 Fail-fast(中文譯為速錯),即盡可能快的暴露程序中的錯誤. 面向并發(fā)的編程(COP concurrency-oriented programming). 函數(shù)式編程 弱類型 腳本語言 函數(shù)式編程 Ering函數(shù)大致寫法如下,以一個求整數(shù)階乘的模塊為例: -module(fact). -export([fac/1]). fac(0) -> 1; fac(N) when N > 0 -> N * fac(N-1). 下面是快速排序算法的一個Erlang實現(xiàn): %% quicksort:qsort(List) %% Sort a list of items -module(quicksort). -export([qsort/1]). qsort([]) -> []; qsort([Pivot|Rest]) -> qsort([ X || X <- Rest, X <= Pivot]) ++ [Pivot] ++ qsort([ Y || Y <- Rest, Y > Pivot]). 并發(fā)及分布式編程 代碼示例如下: % create process and call the function web:start_server(Port, MaxConnections) ServerProcess = spawn (web, start_server, [Port, MaxConnections]), % create a remote process and call the function web:start_server(Port, MaxConnections) on machine RemoteNode RemoteProcess = spawn(RemoteNode, web, start_server, [Port, MaxConnections]), % send the {pause, 10} message (a tuple with an atom "pause" and a number "10") to ServerProcess (asynchronously) ServerProcess ! {pause, 10}, % receive messages sent to this process receive a_message -> do_something; {data, DataContent} -> handle(DataContent); {hello, Text} -> io:format("Got hello message: ~s", [Text]); {goodbye, Text} -> io:format("Got goodbye message: ~s", [Text]) end.
抱歉,此頁面的內(nèi)容受版權保護,復制需扣除次數(shù),次數(shù)不足時需付費購買。
如需下載請點擊:點擊此處下載
掃碼付費即可復制
MSTP | span | LAPDm | PMCH | 技術規(guī)范 | QQ | KDDI | ericsson | DATA | ECSC | 預算定額 | THRESHOLD |
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責聲明 | 關于詞典 | 幫助