精品免费久久久久久久_一区二区免费国产在线观看_日本一区二区三区在线观看网站_欧美日韩国产精品自在自线_1区2在线_国产精品女同事视频_亚洲国产天堂久久久_色色色撸_精品久久久久久国产91_亚洲国产精品特色大片观看完整版

首頁 > 新聞 > 智能 > 正文

難學、速度慢……有關 Rust 的五大傳言,谷歌下場澄清!

2023-06-30 14:23:51來源:ZAKER科技  

自 2015 年正式對外發布,這些年來 Rust 一方面頗受大廠喜愛,另一方面有關它的傳言也愈演愈烈。對此,近日谷歌基于其內部使用 Rust 的體驗和經歷,對這些謠言進行了一一澄清。


(資料圖)

原文鏈接:https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html

作者 | Lars Bergstrom、Kathy Brennan

譯者 | 彎月 責編 | 夏萌

出品 | CSDN(ID:CSDNnews)

2015 年,Rust 1.0 版正式發布,這是一種相對較新的編程語言,具有很多功能。關注 Rust 提供的性能和安全保證的開發人員可能很想知道是否可以僅使用 Rust 來代替他們之前使用的所有語言。如果大公司嘗試在現有環境中使用 Rust 結果會怎樣?開發人員學習該語言需要多長時間?學習 Rust 語言會有很大的收獲嗎?

在本文中,我們將分析 Google 多年來采用 Rust 的一些數據。在 Google,我們看到 Rust 的采用率不斷增加,特別是在消費者應用程序和平臺中。我們開展了一項調查,對象為 2022 年在部分工作中編寫并提交了 Rust 代碼的 1,000 多名 Google 開發人員,在此我們打算正面回應一些傳言,其中包括一些可以改進的問題,同時也希望分享一些我們這段時間的發現。

我們要特別感謝我們的主要培訓合作商之一 Ferrous Systems 在我們開始采用 Rust 之際給予的幫助。我們還想重點介紹一些免費自學的新材料:Comprehensive Rust (https://google.github.io/comprehensive-rust/),這是我們和社區在過去幾個季度中一起努力的成果。

所有調查參與者都是 Google 的專業軟件開發人員(或相關領域)。雖然其中一些人有 Rust 經驗(約 13%),但大多數人來自 C/C++、Python、Java、Go 或 Dart。

根據我們的研究,超過 2/3 的受訪者有信心只需兩個月或更短時間就可以為 Rust 代碼庫做出貢獻。此外,三分之一的受訪者只用了兩個月或更短的時間,使用 Rust 編寫代碼的效率就可以與其他語言一樣高。學習時間延長到四個月,這一數字就可以增加到 50% 以上。有趣的是,無論 Google 內外,這些數字的增長與我們看到的開發人員采用其他語言都一樣。

總的來說,我們沒有看到任何數據表明相對于這些開發人員之前在 Google 使用的任何其他語言使用 Rust 會導致生產力下降。參加了 Comprehensive Rust 課程的學生給出的反饋也很一致:第二天和第三天提出的問題表明,經驗豐富的軟件開發人員可以在很短的時間內熟悉 Rust。

傳言 2:Rust 編譯器的速度達不到人們的想象——真的!

就目前的情況來看,開發人員使用 Rust 時遇到的第一大挑戰是構建速度慢,只有略多于 40% 的受訪者認為這個速度可以接受。

社區范圍內已經做出了巨大的努力來改進和跟蹤 rustc 的性能。這得到了志愿者和幾家公司(包括 Google)的支持,我們很高興看到一些核心的開發人員也加入了這項工作,但很明顯我們需要繼續努力,甚至投入額外的支持。

目前,對于 Google 開發人員來說,Rust 面臨的三大挑戰領域是:

所有權和借用

異步編程

編寫不安全的代碼,處理 C/C++ 互操作是 Google 開發人員常見的問題,但并不是最大的挑戰。Rust 語言設計團隊一直在上述三個領域努力,希望壓平整體的學習曲線,并持續提升,而我們的內部調查結果與這些投資領域非常一致。

經常有人提到 Rust 的編譯器領提供的錯誤消息非常實用,這在本次調查中也得到了證實。只有 9% 的受訪者對 Rust 中的診斷和調試信息的質量不滿意。Comprehensive Rust 參與者的反饋也大致相同:人們對編譯器的消息感到驚訝。起初,人們感到很驚喜,因為他們習慣于忽略編譯器的錯誤,但習慣之后,就會非常喜歡。

以下示例來自 Google 內部員工為實踐 Rust 所做的練習——用 Rust 解決 Advent of Code 2021(https://adventofcode.com/2021)。

在第 5 天的練習中,我們需要搜索表中的條目。下面的錯誤信息不僅檢測到結果的模式匹配漏掉了一種情況,而且還提出了修復建議。

在第 11 天的練習中,我們需要檢查某個元素是否在 grid 的范圍內。下面的 Rust 警告檢測到由于類型為無符號而導致冗余比較,并標明了可以刪除的代碼。受訪者表示 Rust 代碼的質量很高:77% 的開發者對 Rust 代碼的質量感到滿意。事實上,當問及他們是否認為 Rust 代碼的正確性高于用其他語言編寫的代碼時,超過 85% 的受訪者相信他們的 Rust 代碼是正確的。

Rust 代碼不僅正確,而且易于審查。超過一半的受訪者表示 Rust 代碼非常容易審查。作為一名工程經理,在我看來,從很多方面來說這個結果與編寫代碼的結果同等重要,因為代碼審查與編寫代碼都是專業軟件工程師日常工作的重要組成部分。

正如 Google 開發人員和其他人所指出的那樣,開發人員的滿意度和生產力與代碼質量以及審查代碼所需的時間息息相關。如果說 Rust 不僅更適合編寫高質量代碼,而且讓代碼運行起來也更容易,那么對于正在評估和考慮采用這門語言的公司來說,這甚至是超越性能和內存安全性的一系列非常令人信服的理由。

雖然 1000 多名開發人員是一個不小的基數,但我們期待著進一步的采用和未來的調查,其中也包括更多的用例。此外,雖然許多接受調查的開發人員加入了沒有 Rust 經驗的團隊,但這些人中有一些是我們從更廣泛的調查中看到的更興奮的早期采用者。請繼續關注來年更新的調查結果!

關鍵詞:

責任編輯:hnmd003

相關閱讀

相關閱讀

推薦閱讀