為什麼亞馬遜、臉書和Discord的開發人員喜歡Rust程式語言? - businessinsider

發表於2021-01-27

去年,Discord聲稱其應用程式已經變得更快,並且其工程師也能夠更有效地編寫程式碼。該公司將這些改進歸因於一種名為Rust的程式語言。 在2018年初首次使用該語言構建遊戲下載工具後,Discord墜入了愛河,並決定擁抱Rust,完全放棄了Google建立的Go語言(以前在許多系統上使用過這種語言)。

Discord決定開始使用Rust,是因為該公司在使用Go時存在記憶體和速度方面的問題。和許多其他程式語言一樣,Go使用一種稱為“垃圾收集”的記憶體管理過程,該過程通過程式有計劃地執行以釋放當前未使用的記憶體。Rust不使用垃圾收集。相反,它允許開發人員對“所有權”進行編碼以跟蹤記憶體。當不再使用記憶體時,將立即釋放記憶體,這比等待垃圾收集器檢查其空閒時間更快,更高效。 

記憶體效率也將Dropbox吸引到Rust。自2016年以來,Dropbox已將其用於構建檔案上傳功能,儲存,程式碼庫,後端伺服器等。Dropbox認為:Rust結合了許多長期存在的程式語言(如C ++)的最佳片段,但又增加了自己的創新。

 

除了其記憶體管理模型之外,Rust型別系統還可以防止變數為空。這避免了可怕的空指標異常,該異常在程式引用沒有值的內容時發生,並被稱為 “十億美元的錯誤”。 空指標通常會使程式崩潰,而Rust阻止它們。

 

這就是Rust的用武之地。Rust以易於編寫,安全和高效儲存而著稱,開發人員將其視為Go或C ++和C等傳統程式語言的替代品。

在過去幾年中,Discord只是眾多選擇了Rust的公司之一,Rust是Mozilla最初為其Firefox瀏覽器開發的。現在,亞馬遜,Facebook和微軟甚至組建了專門的Rust團隊,並聘請了使用該語言的專家。Facebook甚至使用它來構建其新的加密貨幣專案Libra。AWS將Rust用作其儲存和計算平臺以及無伺服器產品Lambda,該產品使開發人員無需管理伺服器即可執行和擴充套件其程式碼。Rust也是AWS開源虛擬化技術專案Firecracker的核心。現在,亞馬遜正在建立一個致力於Rust的團隊。

 

根據微軟GitHub的資料,Rust的採用在2019年增長了235%,使其成為本年度增長最快的程式語言之一。 根據最近對65,000名開發人員的調查,Rust在Stack Overflow的最喜歡的程式語言列表中排名第一。根據同一項調查,Rust開發人員在美國的年薪位數為130,000美元。 

  

Rust的挑戰之一是學習曲線陡峭。但是,一旦工程師瞭解了它,就會很快得到回報。 

 

相關文章