[討論] Google開發工具工程總監:Rust 開發者的

看板Soft_Job (軟體人)作者 (pttlushen)時間7月前 (2024/04/27 14:57), 編輯推噓35(43898)
留言149則, 52人參與, 6月前最新討論串1/4 (看更多)
Google開發工具工程總監:Rust 開發者的生產力是 C++ 的兩倍 https://bit.ly/3JASfNe 過去兩年,Rust 程式語言風頭正勁,而 C / C++ 則略顯疲態。Google近日分享了他們將 專案從 Go 和 C++ 程式碼遷移至 Rust 的經驗,結果令人驚訝:Rust 開發者的效率竟然 可以達到 C++ 團隊的兩倍。 Google Android平台工具的工程總監 Lars Bergstrom 在倫敦舉行的 Rust Nation 英國 峰會上分享了這一消息。 過去幾年,業界對於 Rust 的安全性和可靠性一直存在疑慮。Bergstrom 指出,由於擔心 「unsafe」這個關鍵字,許多人認為使用 C++ 更為穩妥。然而,隨著人們逐漸意識到非 記憶體安全語言帶來的挑戰,以及美國等國家政府將目光投向軟體在關鍵基礎設施扮演的 角色,這種觀念正悄然發生改變。 Bergstrom 強調,如今美國等國家政府都愈發重視軟體在關鍵基礎設施中的作用,而絕大 多數大型程式碼庫的安全漏洞都源於記憶體安全問題。由於 Rust 程式碼在恰當的使用下 能有效避免此類問題,記憶體安全儼然成為了國家安全議題之一。 微軟:建議新專案使用 Rust 取代 C / C++ 微軟 Azure 首席技術長 Mark Russinovich 早在 2022 年 9 月就建議新專案使用 Rust 取代 C / C++。如今,這種趨勢正從全新項目擴展到老舊程式碼的重寫。今年早些時候, 微軟號召開發人員協助將 C# 程式碼移植至 Rust。網路安全研究小組 (ISRG) 的 Prossimo 項目也正致力於用 Rust 重寫關鍵庫的核心開源部分 (例如 NTP、DNS、TLS), 以提升記憶體安全性。 當然,並非所有人都認同這一趨勢。C++ 創始人 Bjarne Stroustrup 認為,通過適當的 工具,C++ 也可以實現與 Rust 等記憶體安全語言相同的保障,且成本更低。美國國家網 路總監辦公室發佈的軟體安全報告也引來了一些評論,指出記憶體安全只是軟體安全挑戰 的一部分,不應該被過分誇大。卡內基梅隆大學軟體工程研究所強調,每種程式語言都各 有優劣,選擇應以適合項目為原則。 然而,Google等 Rust 擁護者的實踐案例則反駁了 Stroustrup 關於成本優勢的說法。 Bergstrom 表示,將 Go 程式碼 (被認為是記憶體安全但性能較低) 轉寫成 Rust 的過程 中,Google取得了顯著的成效,「遷移過程所需團隊規模和時間幾乎與 Go 開發相當,並 沒有降低效率。更重要的是,記憶體使用率降低了,漏洞率也隨之減少,程式碼正確性得 到提升。」 C++ 程式碼遷移至 Rust 的效率提升明顯 更令人驚訝的是,將 C++ 程式碼遷移至 Rust 的效率提升更加明顯。 「在所有案例中,用 Rust 建構和維護服務的所需工作量都減少了一倍以上,」 Bergstrom 指出,「這對我們來說意義重大,因為 C++ 程式碼的維護成本很高,需要龐 大的團隊投入大量精力,並且存在諸多風險。」 Bergstrom 還提到,Google正進行類似的 Java 到 Kotlin 的遷移項目。根據內部匿名調 查,兩種情況下開發者掌握新語言並達到原有開發效率所需的時間大致相同。大約三分之 一的開發者在兩個月後,以及一半的開發者在四個月後表示他們在新語言中的工作效率與 舊語言相當。 此外,超過一半的開發者認為 Rust 程式碼更容易審查。Bergstrom 分享了一個調查中最 令團隊驚訝的問題:“人們對自己團隊的 Rust 程式碼的正確性有多麼自信?” 調查結 果顯示,有 85% 的開發者給出了肯定的答覆。Bergstrom 表示,這是一個非常高的數字 。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.37.204 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1714201060.A.ADD.html

04/27 15:30, 7月前 , 1F
rust好像很威,請問c++值得轉到rust嗎
04/27 15:30, 1F

04/27 16:25, 7月前 , 2F
有時間跟有興趣學的話當然好
04/27 16:25, 2F

04/27 16:26, 7月前 , 3F
但先看看現在職缺的數量差異,可能就要再想想
04/27 16:26, 3F

04/27 17:16, 7月前 , 4F
以WASM來說,RUST的開發體驗跟GO比不知道如何
04/27 17:16, 4F

04/27 17:17, 7月前 , 5F
WASI起得來的話,應用場景應該可以更多
04/27 17:17, 5F

04/27 17:32, 7月前 , 6F
前陣子有聽到製造業前輩想把專案從PHP重構成NodeJS
04/27 17:32, 6F

04/27 17:43, 7月前 , 7F
目前來看主流還是c Java 換語言先不論學習成本 舊有的
04/27 17:43, 7F

04/27 17:43, 7月前 , 8F
系統多得是不能放棄的 新創可以轉rust試試而已
04/27 17:43, 8F

04/27 17:43, 7月前 , 9F
台灣rust有缺嗎?求職網搜了下感覺有10個就不錯
04/27 17:43, 9F

04/27 17:45, 7月前 , 10F
看了一下 rust才1%左右 感覺像公關文了==
04/27 17:45, 10F

04/27 17:55, 7月前 , 11F
++就是垃圾
04/27 17:55, 11F

04/27 17:58, 7月前 , 12F

04/27 18:23, 7月前 , 13F
主要是原生開發的比例本來就比較少 不要說Rust C++也少
04/27 18:23, 13F

04/27 18:24, 7月前 , 14F
在C++裡面又有很大比例是靠框架開發 嵌入式這種
04/27 18:24, 14F

04/27 18:25, 7月前 , 15F
所以能不能換過去就要看上游框架遷移的進度
04/27 18:25, 15F

04/27 19:08, 7月前 , 16F
perl才是地表最強
04/27 19:08, 16F

04/27 19:09, 7月前 , 17F
04/27 19:09, 17F

04/27 19:11, 7月前 , 18F
台灣資方:Rust薪資也給30K以上面議,反正有AI輔助
04/27 19:11, 18F

04/27 19:25, 7月前 , 19F
有錢的公司就能一直換最新技術造輪子,一般公司還不是要等
04/27 19:25, 19F

04/27 19:25, 7月前 , 20F
所有供應商換了才有得換
04/27 19:25, 20F

04/27 19:28, 7月前 , 21F
比較有名的那幾個語言任何一個以開發效率而言都能把c/c++
04/27 19:28, 21F

04/27 19:28, 7月前 , 22F
按在地上摩擦吧 c/c++一直都是以犧牲開發效率換取程式執
04/27 19:28, 22F

04/27 19:28, 7月前 , 23F
行效能的啊
04/27 19:28, 23F

04/27 19:29, 7月前 , 24F
有錢公司誰跟你狂造輪子== 拿LLM來說也是誰有能力直接
04/27 19:29, 24F

04/27 19:29, 7月前 , 25F
整個挖過來 你現在GITHUB能放個有潛力的作品 也是把人
04/27 19:29, 25F

04/27 19:29, 7月前 , 26F
整個挖過去 後續代碼更新 維護也有保障
04/27 19:29, 26F

04/27 19:32, 7月前 , 27F
開源聽起來好像沒錢賺 公司看到就兩條路 一是直接拿去
04/27 19:32, 27F

04/27 19:32, 7月前 , 28F
營利 二是把人挖過來 後續更新維護 持續營利 規模極大
04/27 19:32, 28F

04/27 19:32, 7月前 , 29F
的可以免費更新 靠其它方式營利 即便是擴大使用者族群
04/27 19:32, 29F

04/27 19:32, 7月前 , 30F
也可以 只有目光短淺才選一
04/27 19:32, 30F

04/27 19:49, 7月前 , 31F
微軟不推個Rust.NET嗎 寫應用層的還是比較多吧
04/27 19:49, 31F

04/27 20:10, 7月前 , 32F
賣害人了
04/27 20:10, 32F

04/27 20:11, 7月前 , 33F
除非你都一輩子寫高階語言
04/27 20:11, 33F

04/27 20:15, 7月前 , 34F
就會吹
04/27 20:15, 34F

04/27 21:02, 7月前 , 35F
RUST真的比較安全,至少記憶體上面是這樣
04/27 21:02, 35F

04/27 21:07, 7月前 , 36F
台灣別想了吧,根本沒什麼職缺
04/27 21:07, 36F

04/27 21:18, 7月前 , 37F
一般公司爛code寫下去就遺害5年以上 才沒閒人力說換就換
04/27 21:18, 37F

04/27 21:51, 7月前 , 38F
原來台灣職缺這麼少喔...
04/27 21:51, 38F

04/27 22:15, 7月前 , 39F
然後C++的效能是rust的一百倍
04/27 22:15, 39F
還有 70 則推文
04/28 21:45, 7月前 , 110F
那麼多了
04/28 21:45, 110F

04/28 21:47, 7月前 , 111F
c++模板元編程有幾個人懂?懂的人有幾個在用?用的人
04/28 21:47, 111F

04/28 21:47, 7月前 , 112F
寫出來的東西有多少可以好好維護?90%的人需要的元編
04/28 21:47, 112F

04/28 21:47, 7月前 , 113F
程功能用trait就能搞定,剩下的9.9%用 procedural ma
04/28 21:47, 113F

04/28 21:47, 7月前 , 114F
cro也能搞定
04/28 21:47, 114F

04/28 21:48, 7月前 , 115F
c++元編程這麼屌的話,怎麼還沒看到像 rust sqlx 這
04/28 21:48, 115F

04/28 21:48, 7月前 , 116F
種可以從資料庫推斷出型別的函式庫
04/28 21:48, 116F

04/28 21:52, 7月前 , 117F
如果c++ 模板元編程這麼屌,c++20幹嘛還搞個concept
04/28 21:52, 117F

04/28 21:52, 7月前 , 118F
,像過去那樣動輒噴出十幾頁的模板編譯錯誤不好嗎?
04/28 21:52, 118F

04/28 21:58, 7月前 , 119F
連c++那種可笑的移動語意也能吹捧 它的移動語意這麼
04/28 21:58, 119F

04/28 21:58, 7月前 , 120F
屌 幹嘛還需要 linter 來抓 use after move 錯誤?這
04/28 21:58, 120F

04/28 21:58, 7月前 , 121F
裡誰沒寫過幾個有bug的移動建構子?為什麼各種建構子
04/28 21:58, 121F

04/28 21:58, 7月前 , 122F
和operator=之間的一致性還要由程序設計師來負責?
04/28 21:58, 122F

04/28 22:46, 7月前 , 123F
go寫的大型工具 取代java大型工具一陣子了 應該不太可能
04/28 22:46, 123F

04/28 22:46, 7月前 , 124F
死掉
04/28 22:46, 124F

04/28 22:52, 7月前 , 125F
go 強項在 cloud-native 吧,很難死掉
04/28 22:52, 125F

04/29 10:49, 7月前 , 126F
佩吉:"宣導一下go好嗎,薪水拿假的?"
04/29 10:49, 126F

04/29 10:51, 7月前 , 127F
我個人站在lturtsamuel這邊
04/29 10:51, 127F

04/29 11:26, 7月前 , 128F
個人看法啦...Go嫌vm肥,但要丟卻也丟不乾淨,而且在
04/29 11:26, 128F

04/29 11:27, 7月前 , 129F
容器的世界跟別人一樣也只是個原生程序,因此除非那些
04/29 11:27, 129F

04/29 11:27, 7月前 , 130F
工具開發者特別利用Go獨有的功能開一條方便整合的路
04/29 11:27, 130F

04/29 11:29, 7月前 , 131F
給Go專用,否則它或許可以欺負沒有編成原生的vm語言,
04/29 11:29, 131F

04/29 11:29, 7月前 , 132F
但是跟同為原生的程式相比未必討得到太多便宜。
04/29 11:29, 132F

04/29 15:07, 7月前 , 133F
戰語言的時候 C是不是都躲在旁邊偷笑
04/29 15:07, 133F

04/29 15:18, 7月前 , 134F
Google 台灣 新進員工 大部分基本行情是到那
04/29 15:18, 134F

04/29 15:19, 7月前 , 135F
古歌 台灣 基本行情 軟工的基本計價 亞虎 李建復 ㄜ
04/29 15:19, 135F

04/29 15:20, 7月前 , 136F
台灣 雅虎 軟工的基本計價呢 ㄜㄜㄜ
04/29 15:20, 136F

04/29 15:20, 7月前 , 137F

04/29 15:21, 7月前 , 138F
日本 雅虎呢
04/29 15:21, 138F

04/29 15:21, 7月前 , 139F
How about Japan yahoo software salary Ummmmmm
04/29 15:21, 139F

04/29 16:42, 7月前 , 140F
文無第一?改成武鬥如何?找相同的題目來比。
04/29 16:42, 140F

04/29 16:42, 7月前 , 141F
真的不要去管C,反正pointer 來pointer 去就好。
04/29 16:42, 141F

04/29 23:25, 7月前 , 142F
語言武鬥傳(誤)
04/29 23:25, 142F

05/01 02:21, 6月前 , 143F
戰語言比刷題串好看多惹
05/01 02:21, 143F

05/01 12:23, 6月前 , 144F
語言優勢劣勢聊聊天沒啥問題 戰到臉紅脖子粗根本吃飽太閒
05/01 12:23, 144F

05/01 12:23, 6月前 , 145F
下了PTT還不是公司叫你用啥你就用啥
05/01 12:23, 145F

05/04 21:31, 6月前 , 146F
可是C++的職缺是你的幾十倍欸……
05/04 21:31, 146F

05/05 18:24, 6月前 , 147F
rust也是要看 .clone滿天飛的code我想記憶體效能應該
05/05 18:24, 147F

05/05 18:24, 6月前 , 148F
也不會好到哪去 =o=a
05/05 18:24, 148F

05/08 12:17, 6月前 , 149F
我們公司有Rust職缺,歡迎私訊了解
05/08 12:17, 149F
文章代碼(AID): #1cBA7ahT (Soft_Job)
文章代碼(AID): #1cBA7ahT (Soft_Job)