Rust 2020 調查報告出爐,95%的開發者吐槽Rust難學

來源 | CSDN(ID:CSDNnews)

編譯 | 蘇宓

頭圖 | CSDN 下載自東方 IC

衆多語言中,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://blog.rust-lang.org/2020/12/16/rust-survey-2020.html

更多精彩推薦
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章