WhatsApp成功背後的Erlang語言

banq發表於2014-02-25


32位工程師能支援4.5億的使用者,這是被Facebook收購的WhatsApp公司,其原因在於Erlang語言,這是一個在80年代推出的程式語言。

使用Erlang語言你能夠建立一個連線很多使用者的訊息應用,數百萬的並行會話能夠同時存在,幾乎沒有當機,雖然其他語言也能管理這麼多會話,但是它們都不是自然的多工系統。

來自WHY YOU SHOULD LEARN ERLANG一文認為,Erlang最了不起的特點就是變數一旦分配值以後就不再變化,如果你來自於指令式程式設計世界,比如Java PHP .NET或Python,這些語言的變數一旦分配值以後就一直可變,Erlang這個特性其實阻止你一些事情,使得你跟蹤除錯追查一個變數的值變得容易,而不再像以前一樣飄忽不定。

ACTOR模型是ErLang並行程式設計的一個特點,具體可見:http://www.jdon.com/actors.html,Actors是一個輕量級的物件,透過傳送訊息實現互動。每個Actors在同一時間處理最多一個訊息,可以傳送訊息給其他Actors。目前Erlang這一Actor模型已經被廣泛應用在Scala的Akka等併發程式設計中。

Erlang雖然有如此傲人的成績,你可能迫不及待地採取Erlang語言,但是現實情況可能還要複雜一些,圍繞Erlang的開發者社群一直規模很小,大多數集中在歐洲,該語言語法固然有點不可思議。“如果你需要分析複雜的資料原型或構建一個簡單的Web應用程式,有更好的工具可選”。

當前一些新專案正在努力致力於讓Erlang語言類似Rails簡化Ruby那樣,使得Erlang更加對使用者友好。

物聯網方面一些智慧愛好者正在將Erlang作為MQTT(一個輕量級協議,用於感測器之間傳輸訊息的一部分)一部分,如果你能夠透過SMS簡訊息調節你的自動調溫器,那麼你可以使用WhatsApp來控制它,是不是呢?

[該貼被banq於2014-02-25 14:47修改過]

相關文章