開啟主選單

求真百科

來自 網絡 的圖片

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

目錄

簡介

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

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

歷史和背景

Erlang問世於1987年,最初是由愛立信專門為通信應用設計的,比如控制交換機或者變換協議等。

1991年,愛立信向用戶推出了Erlang的第一個版本。

1998年,Erlang發布了第一個開源版本,逐漸走向更廣闊的應用領域。

主要特性和優勢

Erlang以其高並發性能、可靠性和容錯性而聞名,特別適用於構建分布式、實時和高並發的系統。

Erlang支持多核CPU,對開發人員來說多核操作是完全透明的。

Erlang支持熱代碼升級,即在系統運行時無需停機即可更新代碼,提高了系統的可用性和穩定性。

Erlang的語法簡潔清晰,易於上手,同時提供了豐富的標準庫和工具支持。

並發編程模型

Erlang採用輕量級進程和消息傳遞模型,每個進程擁有自己的獨立內存[2],並通過消息傳遞相互通訊。

這種並發編程模型使得Erlang能夠有效地處理大量並發任務,而不會造成性能瓶頸。

應用領域

Erlang廣泛應用於電信系統、Web應用、分布式計算、即時消息和電子商務等領域。

在電信系統中,Erlang被用於構建高可靠、高並發的電信交換系統

在Web應用方面,Erlang的並發模型使其輕鬆處理大規模並發任務,如遊戲服務器、實時數據推送和金融交易系統等。

學習資源和社區支持

Erlang的學習資源相對豐富,包括官方文檔、教程、書籍和在線課程等。

Erlang社區也非常活躍,擁有大量的開發者和貢獻者,為學習者和開發者提供了良好的支持和交流平台。

需要注意的是,Erlang雖然具有許多優勢,但也有其局限性。例如,Erlang的抽象能力不強,屬於弱類型語言,錯誤隱蔽性較強,且當項目規模較大時程序結構可能變得混亂。此外,Erlang更適合IO密集型的項目,對於計算密集型的要求可能會比較吃力。

參考文獻