【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

近日,Facebook宣佈以最高級別 (Platinum Member) 的會員身份加入Rust基金會,成為繼

AWS、谷歌、華為、微軟和Mozilla

後又一家宣佈加大使用Rust語言的大型網際網路企業,Facebook將與其他基金會成員一起負責Rust開源生態以及社群的運作和發展。

【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

許多常年奮鬥在程式設計一線的同學可能對Rust不陌生,

Rust已經連續五年(2016-2020)在Stack Overflow開發者調查的"最受喜愛程式語言"評選專案中折取桂冠。

許多開發者甚至並不熟悉該語言,但是卻堅定的把票投給了它!這個Rust語言到底是何方神聖?能讓廣大程式設計師即使只是道聽途說就把票投給了它?

【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

Rust的正式版本在2015年5月才釋出,為何在短短一年半的時間裡就斬獲年度“最受喜愛程式語言”?一句話總結就是:

Rust解決了許多其他程式語言中存在的痛點!

作為一種系統級程式語言,Rust注重高效能、安全性和生產力,支援結構化程式設計、函數語言程式設計、面向物件程式設計等多種程式設計正規化。

相比C++,它將效能的低階(low-level)控制與現代語言功能結合在一起,語法上類似於C++,但是可以保證記憶體安全,並支援函式式和命令式以及泛型等程式設計正規化的多正規化語言。

【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

Rust遵循了三條設計哲學:記憶體安全、零成本抽象、實用性。

記憶體安全:

Rust借鑑了OCaml和Haskell的型別系統來保證型別安全,尤其是Haskell,在Rust語言中能看到很多Haskell型別系統的影子,如:

沒有空指標

預設不可變

表示式

高階函式

代數資料型別

模式匹配

泛型

trait 和關聯型別

本地型別推導

為了實現記憶體安全,Rust 還具備以下獨有的特性:

仿射型別(Affine Type),該型別用來表達Rust所有權中的Move語義;

借用、生命週期。

藉助型別系統的強大,Rust 編譯器可以在編譯期對型別進行檢查,看其是否滿足安全記憶體模型,在編譯期就能發現記憶體不安全問題,有效地阻止未定義行為的發生。

記憶體安全的Bug和併發安全的Bug產生的內在原因是相同的,都是因為記憶體的不正當訪問而造成的。同樣,利用裝載了所有權的強大型別系統,Rust還解決了併發安全的問題。Rust編譯器會透過靜態檢查分析,在編譯期就檢查出多執行緒併發程式碼中所有的資料競爭問題。

【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

零成本抽象:

程式語言如果想做到高效開發,就必須擁有一定的抽象表達能力。

Rust的抽象是零成本的,它並不會存在執行時效能開銷,這一切都是在編譯期完成。Rust的抽象程式碼在編譯期會被展開成和手寫彙編程式碼相近的底層程式碼,所以不存在執行時因為解釋這一層抽象而產生的效能開銷。對於一門系統級程式語言而言,執行時零成本是非常重要的。這一點,Rust做到了,Rust中零成本抽象的基石就是泛型和trait。

實用性:

看這兩年大廠紛紛選擇Rust做底層開發或者專案重構就知道Rust的實用性非常可靠。

Facebook從2016年開始在專案中使用Rust,一開始僅在原始碼管理工具上使用,後來其他專案也逐漸採用,到2019年,Facebook的Rust開發人員數量呈指數增長,超過了100個;

AWS在眾多產品中應用Rust的同時,不惜花重金聘用Rust編譯器聯合創始人 Felix Klock來加碼Rust的應用;

Google將其應用到了Android系統中以及基於此重新實現一些重要的安全元件;

微軟在尋求替代C、C++語言之際,不僅Rust整合到了Azure服務中,也正在用Rust來實現一種新的程式語言;

就連Linux核心開發者也開始在Linux核心中新增Rust支援的RFC。

【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

憑藉安全、高效能、可靠性和高生產率等特性,年僅6歲的Rust收穫了各大網際網路公司的扶持投資,2021年2月8日,AWS、華為、Google、微軟以及Mozilla宣佈成立Rust基金會,並承諾在兩年的時間裡,投入100萬美元的預算,用於Rust專案的開發、維護和推廣。

程式語言沒有最強,但總有最流行的。目前國內還是C、Java兩大巨頭統治,但Rust也有著極大的潛能,對於這個後起之秀同學們怎麼看呢?歡迎在評論區和小谷討論哦~

【Rust】大風肆虐,年僅6歲憑什麼吸引谷歌、華為、Facebook為他下海

-End-