
編譯 | 蘇宓
頭圖 | CSDN 下載自東方 IC
出品 | CSDN(ID:CSDNnews)
眾多語言中,Rust 作為一款小眾的現代系統編程語言,近幾年間,接連受到了各大企業的青睞,
正如不久前,AWS 開源團隊宣布聘用 Rust 編譯器聯合創始人 Felix Klock,未來致力于進一步改進 Rust,對于 AWS 本身而言,也是 Rust 的忠實用戶,其基于 Rust 研發并支持了多款內部產品,如虛擬化技術產品 Firecracker,以及 Amazon Simple Storage Service(Amazon S3)、Amazon Elastic Compute Cloud(Amazon EC2)、Amazon CloudFront和Amazon Route 53 等服務,
此外,另一大科技巨頭微軟宣布未來將使用 Rust 作為 C/C++ 等編程語言的替代方案,尤其在構建基礎設施軟體程序中,對此,微軟認為 C/C++ 無法勝任撰寫關鍵任務的軟體,業界非常需要高性能、記憶體安全的編程語言來開發底層系統,而當今市場上最好的選擇就是 Rust,
同時,今年 3 月,蘋果也表示對將 C 代碼移植到 Rust 感興趣,希望投身到使用 Rust 撰寫代碼的潮流中,此前通過蘋果的一則招聘公告可以看出,其想要在基于 Linux 的服務器端平臺上將 C 過渡到 Rust,
對此,我們不禁好奇,近 600 種編程語言中,為何 Rust 能夠脫穎而出?它究竟有著怎樣的魔力?日前,Rust 官方在調研了全球 8323 位開發者后,最新發布了 2020 年 Rust 調查報告,我們不妨回顧過往這一年 Rust 的發展來一探究竟,
開發者對 Rust 的信任度較高
通過報告,我們發現 Rust 開發者的用戶黏度較高,有 83% 的受訪者表示他們一直在使用該語言,僅有 7% 的開發者稱曾經使用過 Rust,現在因為一些因素不再使用它,
至于放棄 Rust 的原因主要是,一方面,有 35% 的受訪者稱在一定的時間內還沒有學會 Rust 語言;另一方面,34% 的受訪者表示公司的業務用不到 Rust,所以也沒有太多理由繼續使用 Rust;除此之外,還有 19% 的開發者表示,和當前正在使用的其他編程語言相比,Rust 會讓其程式變慢,
Rust 穩定性增強
眾所周知,當提及 Rust 語言時,安全、性能、并發等特性是其優勢,因此,Rust 的穩定性也經過了多輪的驗證,不過具有較高穩定性的 Rust 并不意味著在任何場景下都能保證代碼運行不會出現問題,尤其是在新版本的編譯器下,對此,過去一年中,Rust 的迭代主要聚焦于清理代碼庫和提升穩定性,不過這項作業還尚未全部完成,但不少受訪者表示,相比過往,Rust 的性能的確有很大的提升,這也是穩定版占主流版本的原因,

其次,開發者最喜歡 Rust 的 Nightly 版本,不過相較去年,這一版本的使用人數從 30.5% 下降到了 28%,只有 8.7% 的受訪者表示他們一直在使用,當問及為什么使用時,開發者表示最主要的原因是因為該版本使用了 Rocket Web 框架,此前,官方也僅宣布該框架將在 Rust 下一穩定版本中使用,其次,使用 Nightly 版本的原因還包含了 const 泛型功能,不過,隨著 const 泛型功能即將實作穩定版,預估計開發者會減少對此功能的依賴,
值得注意的是,Rust 官方指出,使用 Nightly 版本的用戶大多處于習慣,因為“Nightly 版本足夠穩定”,
誰在使用 Rust?
除了文章伊始所提及的大廠企業之外,對于開發者而言,他們主要將 Rust 應用于哪些場景?根據調查報告顯示,Rust 作為一種用于生產的語言而廣受歡迎,其中,有 40% 的軟體開發者表示,他們在日常作業中經常使用 Rust,同時,也有近一半的受訪者表示,自己所在的企業正在計劃在新的一年中招聘 Rust 相關的開發者,這也意味著,Rust 人才的需求量將進一步擴大,

隨著 Rust 的發展,它被用于越來越大的專案之中,有 44% 的受訪者表示,他們產出的 Rust 代碼在 1 萬行及以上,而在去年這一比例僅有 34%,

開發者:Rust 太難學了!
雖然和一些老牌語言 C/C++ 相比,Rust 正在迅速捕獲開發者的關注,但是據官方調查報告顯示,Rust 仍有許多亟需完善之處,譬如以下幾點:
與 C++ 的互操作需要進一步提升
有些出乎意料的是,Rust 與 C ++ 的互操作是開發者最為期待的,其次分別是 C、Python,實際上,對于使用大型代碼庫(100,000 行代碼或更多)的開發者而言,實作與 C ++ 的互操作是改善 Rust 編程體驗以及縮短編譯時間最為直觀的方法,

Rust 太難上手,尤其是生命周期
當被問及如何提高 Rust 的采用率時,不少開發者提到降低 Rust 的門檻,讓 Rust 更容易被學習,其中,15.8% 的受訪者直言,如果“不那么令人恐懼,或更容易學習以及不太復雜”,他們會想要更多地使用 Rust,至于怎么降低 Rust 入門門檻,開發者的建議是增加官方檔案和培訓,
當我們要求受訪者對Rust的專業知識進行評分時,在10人中有7人是一個明顯的高峰,很難說這是跨語言比較的,但是似乎很少有人愿意聲稱擁有全部專業知識,但是,與去年相比,Rust社區似乎確實在獲得該語言的專業知識,

當問及具體是哪部分很難時,61.4% 開發者大呼 Rust 的生命周期難度最高,因為 Rust 的生命周期是一個非常難以理解的概念,同時這也是 Rust 獨有的概念,

不過,根據調查報告,擁有系統編程知識(至少具備一定的 C/C++ 經驗)的開發者在使用 Rust 會更得心應手一些,對此,Rust 官方在進行調研時,也讓受訪者進行了自評,結果顯示,如果具有系統編程經驗的開發者在自己的 Rust 專業知識中自評為 5.5 分(滿分10);諸如學過 Java 或 C# 等語言的開發者自評為 4.9 分;如果僅具有動態型別語言(如 Ruby、JavaScript)經驗的開發者,自評為 4.8 分,這其中存在一定的差異,
編譯時間需要縮短
Rust 社區及其開發團隊一直在致力于縮短 Rust 的編譯時間,好在效果有些明顯,有 50.5% 的受訪者表示,感受到了編譯時間已經縮短,對于擁有大型代碼庫(10,000 行代碼及以上)的受訪者而言,這種改進尤為明顯,其中 62.6% 的受訪者表示改進,不過,還有 2.9% 的受訪者表示情況變得更糟,對此,Rust 官方在報告里面表示,縮短編譯時間也將是 2021 年 Rust 功能繼續完善的方向,
庫的支持
根據調查發現,開發者對 Rust 生態系統中庫支持的增長感到滿意,其中 65.9% 的受訪者表示,他們至少看到了一些改進,只有 4.9% 的受訪者說他們沒有看到任何改進,
當被問及最缺少哪種型別的庫支持時,GUI 編程是一個壓倒性的答案,
Rust 的未來
總體而言,過去一年間,正如微軟、蘋果等公司都在深度擁抱 Rust,同時,Rust 在開發者圈中也越來越受歡迎,Rust 官方也帶來了一些令人興奮的特性,如 const 泛型、2021 版泛型關聯型別(GATs),改進了異步功能、Bevy 游戲引擎等,不過,Rust 的學習門檻讓不少開發者望而卻步,在此,歡迎大家關注 CSDN 的「 Rust語言中文社區」:https://blog.csdn.net/u012067469 ,與我們共同成長,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/237118.html
標籤:其他
