Rust 2019年度調查報告:17%的受訪者未使用Rust

近日,Rust 官方博客發佈了 Rust 2019 年度調查報告,同時這也是對 Rust 社區進行的第四次年度調查。這次調查共發佈 14 種不同語言版本的問卷,收到了 3997 個受訪者回復。

本次調查收到的受訪者回復的語言發佈如下:

  • 英語:69.6%
  • 中文漢語:10.8%
  • 德語:4.3%
  • 法語:3.3%
  • 日語:3.0%
  • 波蘭語:1.2%
  • 葡萄牙語:1.2%
  • 西班牙語:0.9%
  • 韓語:0.8%
  • 意大利語:0.6%
  • 瑞典語:0.5%
  • 越南語:0.2%

在這次調查中,有 82.8% 的受訪者表示目前在使用 Rust,7.1% 的受訪者表示曾經使用過 Rust,但是現在已經放棄了,還有 10% 的受訪者表示從未使用過 Rust。如果與 2018 年的 Rust 調查報告作對比,我們不難發現 Rust 的使用者在不斷增加。(注:在 2018 年 Rust 調查報告中,有 74.5% 的受訪者表示目前在使用 Rust,8.1% 的受訪者曾經使用過 Rust,但現在放棄了,17.4% 的受訪者表示從未使用過 Rust。)

Rust 使用者的分佈情況在這次調查中,Rust 的日常使用量出現了小幅上升,達到了 27.63%(去年略低於 25%,2017 年爲 17.5%)。

在這次調查中,我們發現使用 Rust 最多的用戶是程序員 / 軟件工程師,其次是系統架構師。而最多應用 Rust 的領域是後端 Web 應用程序。

根據調查結果,43%Rust 項目的代碼量在 1000-10000 行,代碼量超過 10000 行的項目也在逐年增加,從 2016 年的 8.9% 增長到 2017 年的 16%,再到 2018 年的 23%,在這次 2019 年調查報告中已經增長到了 34%。

爲什麼他們不使用 Rust?在文章的開頭,我們就提到了目前仍然有很多受訪者沒有使用過 Rust 或者是曾經使用過但現在放棄了。那麼爲什麼他們會放棄呢?

在調查中,我們發現“公司不使用 Rust”是這些受訪者放棄使用 Rust 的重要原因。另外,學習曲線陡峭、缺少所需的庫、因切換到 Rust 而減慢了速度以及缺少 IDE 支持也是用戶停止使用 Rust 的常見原因。

那麼,到底是哪些人沒有使用 Rust 呢?比較好玩的是,程序員 / 軟件工程師既是使用 Rust 的最大羣體,也是不使用 Rust 的最大羣體,如果再聚焦到領域,我們發現,排在首位的還是後端 Web 應用程序。

爲了找到大家不使用 Rust 的真正原因。Rust 社區還調查了 Rust 用戶是出於什麼樣的原因在頻繁使用,根據調查結果,大部分用戶表示之所以使用 Rust,是因爲 Rust 有更多他們需要的庫,並且 IDE 支持也更好。

由此可見,目前 Rust 應用的最大障礙應該是學習曲線和互操作性。

92% 的受訪者在使用新版本 Rust

2018 年 12 年,Rust 2018(Rust 1.31.0)版本正式發佈。在這次調查中,92% 的 Rust 用戶表示正在使用新版本,同時 85% 的人表示升級到 Rust 2018 版本很容易。

同時,這次報告還調查了用戶對於 Rust 語言關鍵改進的評價,整體來看,Rust 2018 版本的諸多改進都獲得了認可。

Rust 最重要的庫都有哪些?

在用戶看來,在 Rust 生態系統中最重要的庫都有哪些?根據調查結果,排在前十的分別是 serde、rand、tokio、async、clap、regex、log、futures、hyper 和 lazy_static。

同時,該次調查還詢問了用戶使用的依賴項有多少是 1.0 或更高版本的。

  • 0.8% 表示“全部”
  • 6.7% 表示“大多數”
  • 65.9% 表示“有部分”
  • 5.2% 表示“無”
  • 21.4% 的人表示“我不知道”

Rust 用戶都在使用哪些 IDE 和工具?

在調查中,我們發現 IDE 對 Rust 的支持也被認爲是採用的障礙。那麼,目前大家最常使用的 IDE 都有哪些呢?調查結果顯示:最受歡迎的是 Vim 和 VS Code,其次是 IntelliJ。

至於用戶使用的開發平臺,Linux 和 Windows 仍繼續佔據主導地位。

  • 51.5%的用戶在 Linux 上開發
  • 23.6%的用戶在 Windows 上開發
  • 22.8%的用戶在 macOS 上開發

另外,在調查中我們發現絕大多數用戶使用的是當前穩定版本的 Rust(63%)。

  • 30.5%使用 Nightly 版本
  • 2.5%使用 Beta 版本
  • 63%使用當前的穩定版本
  • 3.1% 使用以前的穩定版本
  • 0.6%使用自定義 fork
  • 0.3%不知道

令人驚訝的是,在工作流程中使用 Nightly 編譯器的用戶數量下降了 20%。

Rust 學習曲線陡峭,21% 的受訪者仍未掌握 Rust

Rust 以其陡峭的學習曲線而聞名。調查結果顯示:大約 37%的 Rust 用戶在使用了不到一個月的時間就能感受到它的生產效率(掌握 Rust),這與去年的比例(40%)相差不大。超過 70%的人在第一年才能感受到它的生產效率。不幸的是,和去年一樣,很多用戶仍在掙扎,21%的用戶表示尚未掌握 Rust。

有趣的是,這次調查選取了那些還沒有感受到 Rust 生產效率的用戶子集,並繪製了他們對 Rust 專業知識的評分。結果發現,那些感受不到 Rust 生產效率的人的專業知識水平處於低到中級,而這些人是最需要學習材料、文檔的羣體。

23% 的受訪者希望實現 Rust 與 C 的互操作性

多年來,用戶都希望 Rust 能夠與其他語言進行更多的互操作。這次報告中調查了用戶最希望與 Rust 進行互操作的語言是什麼,得到的結果是:排在第一位的是 C,第二位的是 R,第三位是 C+++。

當談到使用什麼平臺來作爲應用程序的目標時,Linux 仍然是首選,佔 36.9%,其次是 Windows,佔 16.3%。緊隨 Windows 之後的是 macOS 和 Web Assembly,它們各佔 14%。從報告中,我們發現越來越多的用戶將 Android 和 Apple iOS 作爲目標。

總結

整體來看,用戶是否採用 Rust 或者其它語言的一個重要考量因素是生產效率。目前阻礙 Rust 使用的重要原因是公司的 Rust 採用率、學習曲線、IDE 和工具以及互操作性。同時,Rust 社區應該提供更多的學習資料和文檔,幫助開發者儘快入門和掌握 Rust。

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