據(jù)最新消息,近年來Rust編程語(yǔ)言人氣飆升,相比之下,C/C++表現(xiàn)稍遜色。Google近期公布了一項(xiàng)把項(xiàng)目由Go或C++代碼轉(zhuǎn)換成Rust的試水計(jì)劃,所得成果令人驚艷——Rust開發(fā)者的輸出量竟高達(dá)C++團(tuán)隊(duì)的兩倍。
這項(xiàng)發(fā)現(xiàn)由谷歌安卓平臺(tái)工具及庫(kù)的工程總監(jiān)Lars Bergstrom在日前召開的Rust Nation英國(guó)峰會(huì)揭示。盡管此前業(yè)內(nèi)對(duì)Rust的安全性和穩(wěn)定性存在一定爭(zhēng)議,特別是其‘unsafe’關(guān)鍵字的存在令人擔(dān)憂。但現(xiàn)今形勢(shì)正在改變,部分原因是人們開始認(rèn)識(shí)到非內(nèi)存安全性所帶來的挑戰(zhàn)以及各國(guó)政府對(duì)關(guān)鍵基礎(chǔ)設(shè)施軟件安全性的關(guān)注,內(nèi)存安全問題已被視為國(guó)家安全議題之一。
Bergstrom進(jìn)一步指出,目前美國(guó)政府等機(jī)構(gòu)高度重視軟件在關(guān)鍵基礎(chǔ)設(shè)施中的作用,而大型代碼庫(kù)中的大部分安全漏洞都是由內(nèi)存安全性引發(fā)的。對(duì)于能夠有效防止這些問題的系統(tǒng)如Rust,它正逐漸成為首選。
值得注意的是,微軟Azure首席技術(shù)官M(fèi)ark Russinovich早在2022年9月便呼吁新項(xiàng)目嘗試使用Rust替換C/C++。如今,這種趨勢(shì)已經(jīng)從新項(xiàng)目擴(kuò)大到了老舊代碼的重構(gòu)。今年初,Microsoft甚至發(fā)起了將C#代碼轉(zhuǎn)化為Rust的倡議。此外,像網(wǎng)絡(luò)安全研究團(tuán)隊(duì)的Prossimo項(xiàng)目,就是在努力重寫NTP、DNS、TLS等關(guān)鍵庫(kù)的核心開放源碼部分,以提高其內(nèi)存安全性。
然而,并不是所有人都對(duì)此持肯定態(tài)度。C++創(chuàng)始人Bjarne Stroustrup堅(jiān)持認(rèn)為,借助合適的工具,C++同樣可以提供像Rust這樣的內(nèi)存安全性,而且成本更低。而美國(guó)國(guó)家網(wǎng)絡(luò)總監(jiān)辦公室發(fā)布的軟件安全報(bào)告也引發(fā)了相關(guān)討論,其中內(nèi)存安全性只是軟件安全挑戰(zhàn)的一部分,不必過份放大??▋?nèi)基梅隆大學(xué)軟件工程研究所強(qiáng)調(diào),任何編程語(yǔ)言都有其優(yōu)缺點(diǎn),應(yīng)根據(jù)具體項(xiàng)目需求進(jìn)行選擇。
然而,谷歌等Rust支持者的實(shí)際應(yīng)用卻證明Stroustrup的觀點(diǎn)存在誤區(qū)。Bergstrom指出,在將Go代碼(內(nèi)存安全性高但運(yùn)行速度慢)轉(zhuǎn)為Rust的過程中,谷歌團(tuán)隊(duì)在效率上取得了顯著提升“盡管遷移過程需要的團(tuán)隊(duì)規(guī)模和時(shí)間與Go開發(fā)基本相當(dāng),但是內(nèi)存利用率下降,漏洞率降低,代碼質(zhì)量得以提升”。
更大的驚喜來自于C++代碼的遷移效果,“所有案例中,使用Rust構(gòu)建和維護(hù)系統(tǒng)的勞動(dòng)力減少了超過一倍”Bergstrom介紹道,“這對(duì)我們具有極大價(jià)值,因?yàn)镃++代碼維護(hù)成本極高,需要巨大團(tuán)隊(duì)投入大量精力,風(fēng)險(xiǎn)重重”。
此外,谷歌正在實(shí)施類似的Java至Kotlin的遷移項(xiàng)目。根據(jù)內(nèi)部匿名調(diào)查顯示,兩種情況下開發(fā)人員掌握新語(yǔ)言并達(dá)到原有開發(fā)效率所需的時(shí)間大致相等。約三分之一的開發(fā)者表示,他們能用新語(yǔ)言在兩個(gè)月后最大程度地發(fā)揮原有的工作能力;超過一半的開發(fā)者表示在四個(gè)月后即能適應(yīng),效率不低于原來。
-
網(wǎng)絡(luò)安全
+關(guān)注
關(guān)注
11文章
3432瀏覽量
62743 -
C++
+關(guān)注
關(guān)注
22文章
2120瀏覽量
76628 -
Rust
+關(guān)注
關(guān)注
1文章
238瀏覽量
7459
發(fā)布評(píng)論請(qǐng)先 登錄
RusT-Thread:基于Rust面向資源受限嵌入式設(shè)備的操作系統(tǒng)的實(shí)踐 | 技術(shù)集結(jié)
一文了解Mojo編程語(yǔ)言
工業(yè)場(chǎng)景安全需求升級(jí),RT-Thread 睿賽德全棧方案破解 OS 安全與效率痛點(diǎn)
RT-Thread 遇上 Rust:安全內(nèi)核 RusT-Thread 的誕生
萬里紅以科技之力筑牢國(guó)家安全數(shù)字防線
國(guó)民技術(shù)安全芯片筑牢關(guān)鍵信息基礎(chǔ)設(shè)施安全防線
主流的 MCU 開發(fā)語(yǔ)言為什么是 C 而不是 C++?
特朗普聲稱對(duì)中國(guó)芯片進(jìn)行國(guó)家安全調(diào)查:背后意圖與影響剖析
開放原子開源基金會(huì)攜手vivo推動(dòng)Rust生態(tài)建設(shè)
ADS1230放大為什么只有兩倍?
ADS1100設(shè)置為sps8時(shí),讀配置寄存器為sps16而且讀數(shù)放大了兩倍,為什么?
HighTec C/C++編譯器套件全面支持芯來RISC-V IP

Rust效率領(lǐng)先C++兩倍,內(nèi)存安全成國(guó)家安全議題
評(píng)論