據(jù)最新消息,近年來Rust編程語言人氣飆升,相比之下,C/C++表現(xiàn)稍遜色。Google近期公布了一項把項目由Go或C++代碼轉(zhuǎn)換成Rust的試水計劃,所得成果令人驚艷——Rust開發(fā)者的輸出量竟高達C++團隊的兩倍。
這項發(fā)現(xiàn)由谷歌安卓平臺工具及庫的工程總監(jiān)Lars Bergstrom在日前召開的Rust Nation英國峰會揭示。盡管此前業(yè)內(nèi)對Rust的安全性和穩(wěn)定性存在一定爭議,特別是其‘unsafe’關鍵字的存在令人擔憂。但現(xiàn)今形勢正在改變,部分原因是人們開始認識到非內(nèi)存安全性所帶來的挑戰(zhàn)以及各國政府對關鍵基礎設施軟件安全性的關注,內(nèi)存安全問題已被視為國家安全議題之一。
Bergstrom進一步指出,目前美國政府等機構高度重視軟件在關鍵基礎設施中的作用,而大型代碼庫中的大部分安全漏洞都是由內(nèi)存安全性引發(fā)的。對于能夠有效防止這些問題的系統(tǒng)如Rust,它正逐漸成為首選。
值得注意的是,微軟Azure首席技術官Mark Russinovich早在2022年9月便呼吁新項目嘗試使用Rust替換C/C++。如今,這種趨勢已經(jīng)從新項目擴大到了老舊代碼的重構。今年初,Microsoft甚至發(fā)起了將C#代碼轉(zhuǎn)化為Rust的倡議。此外,像網(wǎng)絡安全研究團隊的Prossimo項目,就是在努力重寫NTP、DNS、TLS等關鍵庫的核心開放源碼部分,以提高其內(nèi)存安全性。
然而,并不是所有人都對此持肯定態(tài)度。C++創(chuàng)始人Bjarne Stroustrup堅持認為,借助合適的工具,C++同樣可以提供像Rust這樣的內(nèi)存安全性,而且成本更低。而美國國家網(wǎng)絡總監(jiān)辦公室發(fā)布的軟件安全報告也引發(fā)了相關討論,其中內(nèi)存安全性只是軟件安全挑戰(zhàn)的一部分,不必過份放大??▋?nèi)基梅隆大學軟件工程研究所強調(diào),任何編程語言都有其優(yōu)缺點,應根據(jù)具體項目需求進行選擇。
然而,谷歌等Rust支持者的實際應用卻證明Stroustrup的觀點存在誤區(qū)。Bergstrom指出,在將Go代碼(內(nèi)存安全性高但運行速度慢)轉(zhuǎn)為Rust的過程中,谷歌團隊在效率上取得了顯著提升“盡管遷移過程需要的團隊規(guī)模和時間與Go開發(fā)基本相當,但是內(nèi)存利用率下降,漏洞率降低,代碼質(zhì)量得以提升”。
更大的驚喜來自于C++代碼的遷移效果,“所有案例中,使用Rust構建和維護系統(tǒng)的勞動力減少了超過一倍”Bergstrom介紹道,“這對我們具有極大價值,因為C++代碼維護成本極高,需要巨大團隊投入大量精力,風險重重”。
此外,谷歌正在實施類似的Java至Kotlin的遷移項目。根據(jù)內(nèi)部匿名調(diào)查顯示,兩種情況下開發(fā)人員掌握新語言并達到原有開發(fā)效率所需的時間大致相等。約三分之一的開發(fā)者表示,他們能用新語言在兩個月后最大程度地發(fā)揮原有的工作能力;超過一半的開發(fā)者表示在四個月后即能適應,效率不低于原來。
-
網(wǎng)絡安全
+關注
關注
10文章
3159瀏覽量
59758 -
C++
+關注
關注
22文章
2108瀏覽量
73651 -
Rust
+關注
關注
1文章
228瀏覽量
6610
發(fā)布評論請先 登錄
相關推薦
評論