我們擅長商業(yè)策略與用戶體驗的完美結(jié)合。
歡迎瀏覽我們的案例。
最近,谷歌推出了“Carbon”,一種號稱可能成為 C++ 繼任者的開源編程語言。隨著這門 “實驗性”語言成為互聯(lián)網(wǎng)上的熱門話題,人們也開始討論為什么“Rust”沒能成為 C++ 的正式繼任者。
那些使用 Rust、為 Rust 做貢獻以及對語言開發(fā)感興趣的人將 Rust 社區(qū)稱為“Rustaceans”。Rust 是一種靜態(tài)類型編程語言。它性能好,安全性高,尤其突出的是并發(fā)安全性和內(nèi)存管理。它的語法和 C++ 類似。該開源項目最早是由 Mozilla Research 開發(fā)的。2021 年,Rust 基金會接手了這門語言,并繼續(xù)推動其開發(fā)。
在 CPP North 大會的演講中,谷歌工程師 Chandler Carruth 建議說,使用 Rust 的繼續(xù)使用 Rust 即可。Carbon 面向的是那些有大型 C++ 代碼庫而難以轉(zhuǎn)換到 Rust 的人。確切地說,Carbon 就是 Carruth 口中的“繼任者語言”,以現(xiàn)有的生態(tài)系統(tǒng)為基礎(chǔ)構(gòu)建,這里是指 C++。根據(jù) StackOverflow 的調(diào)查,Rust 被認為是增長最快的編程語言之一,一直被用戶評為最喜歡的語言,但程序員們卻不這么認為。
優(yōu)秀的語言應(yīng)該安全、快速、易于編程,Rust 是這樣嗎?
Rust 很難。它的語法很復雜,學習曲線很陡。它是專門設(shè)計用來解決一些編程上非常有挑戰(zhàn)的問題。不過,對于初學者,使用 Rust 進行 Cuda 或 MPI 編程并不像 Swift、Go 這些選項那么簡單。而且,Rust 很慢。與其他語言相比,它就是只蝸牛。即使是小項目,編譯時間也長得令人痛苦,而從運行時指標可以看出,Rust 程序的效率比 C 程序低。
不難想象,重寫經(jīng)過幾十年仔細審查的 C 語言庫只會引入新的 Bug。代碼中的 Bug 是程序員的噩夢。雖然它確實幫助開發(fā)人員避免了一些錯誤,但它并不能阻止他們無意中寫出 Bug。另一個問題是括號上不斷出現(xiàn)警告,尤其是 if 語句和 while 循環(huán)上。
因此,Rust 是一門復雜得多又低效得多的語言,可能很快就會被上述工具所取代。
Rust 依然很受歡迎?
雖然第一手的經(jīng)驗講述了一個不同的故事,但大多數(shù)大型科技公司都在使用 Rust,其他沒使用的也有引入計劃。最近,Rust 成為 Meta 官方支持的服務(wù)器端編程語言之一。這份清單上之前已有 C++、Hack 和 Python。
Eric Garcia 是 Meta 的一名軟件工程經(jīng)理。他說,“在我們的產(chǎn)品和服務(wù)中,Rust 的使用迅速增加,我們致力于成為 Rust 長期的、受歡迎的早期采用者”。
Dropbox 在一些關(guān)鍵任務(wù)編程中使用 Rust。當需要良好的安全性、多線程以及減少硬件數(shù)量時,其他互聯(lián)網(wǎng)公司也可能會選擇 Rust。例如,一個使用 Rust 編寫的高效的 Web 服務(wù)可以為運行著數(shù)千臺服務(wù)器的公司節(jié)省數(shù)百萬美元的硬件。
谷歌還計劃在 Android 支持將 Rust 作為系統(tǒng)編程語言之后,在 Linux 內(nèi)核中使用 Rust。重申一下,這樣做的目的是減少安全漏洞。與此同時,微軟也開始使用 Rust 來減少 Windows 組件中與內(nèi)存相關(guān)的 Bug。目前,在 GitHub 上,微軟有 25 個公共工作庫正在使用 Rust。它們中的大多數(shù)都只是偶爾有提交,這與 317 個 C++ 庫相比就顯得微不足道了。
Facebook 也加入了 Rust 基金會(2021 年成立的一個組織,旨在讓 Rust“成為系統(tǒng)編程的主流語言”),以強化其與 Rust 的關(guān)系。
2020 年,Linux 內(nèi)核開發(fā)人員提出用 Rust 重寫新的 Linux 內(nèi)核代碼。想法是向之前用 C 編寫的內(nèi)核中添加使用 Rust 編寫的新代碼。不過,這個想法尚處于研究階段,還是實驗性的。
未來,Rust 將成為物聯(lián)網(wǎng)(IoT)設(shè)備上最受歡迎的編程語言,因為物聯(lián)網(wǎng)設(shè)備處理器能力弱,內(nèi)存小,但又需要很高的安全性。而且,考慮到與大型科技公司的關(guān)系,它可能會成為需要向數(shù)百萬用戶提供 Web 服務(wù)的互聯(lián)網(wǎng)公司的最愛。
(邯鄲小程序開發(fā))