0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

大廠對(duì)Rust的態(tài)度,C++之父回應(yīng)

倩倩 ? 來(lái)源:CSDN ? 作者:辛?xí)粤?/span> ? 2022-09-22 11:25 ? 次閱讀

9 月 20 日,微軟 Azure 現(xiàn)任 CTO、Sysinternals 主要開(kāi)發(fā)者 Mark Russinovich 在其個(gè)人推特賬號(hào)發(fā)表動(dòng)態(tài)稱是時(shí)候停止使用 C/C++啟動(dòng)任何新項(xiàng)目,并建議在需要使用 noc-GC 語(yǔ)言的場(chǎng)景下使用 Rust 編程語(yǔ)言。

Rust 由 Graydon Hoare 設(shè)計(jì),而后在 Mozilla 成型,Rust 設(shè)計(jì)時(shí)借鑒了許多 C++ 的設(shè)計(jì)思想如并發(fā)特性等,也以高性能著稱,還實(shí)現(xiàn)了內(nèi)存安全。2015 年 Rust 作為 C/C++ 的替代品開(kāi)始引起人們的關(guān)注,正因如此,Rust 也經(jīng)常被拿來(lái)與 C++ 進(jìn)行比較,開(kāi)發(fā)者也經(jīng)常因?yàn)?Rust 還是 C++ 更好而爭(zhēng)論。

Mark Russinovich 此番言論一出,也是在技術(shù)圈引起大量討論。

Mark Russinovich圈內(nèi)地位

不同于從小就熱衷于計(jì)算機(jī)的其他技術(shù)大牛,Mark Russinovich 15 歲才開(kāi)始對(duì)編程很感興趣,隨后在卡內(nèi)基·梅隆大學(xué)獲得計(jì)算機(jī)工程博士學(xué)位。加入微軟之前,Mark Russinovich 先是做著 Windows NT 性能監(jiān)控軟件的開(kāi)發(fā)工作,隨后與 Bryce Cogswell 共同創(chuàng)辦了 Winternals Software 公司并一起開(kāi)發(fā)了數(shù)十款流行的 Windows 管理和診斷實(shí)用程序,這其中就包括著名的系統(tǒng)工具 Sysinternals。

2006 年微軟收購(gòu)了 Winternals Software 公司,Mark Russinovich 也隨即加入微軟,幫助提升 Windows 的技術(shù)水平。在微軟,Mark Russinovich 開(kāi)發(fā)了非常多的系統(tǒng)工具,比如 winobj、sysmon、diskmon 和進(jìn)程監(jiān)視器,同時(shí)他還著有被稱為 BSD 紅皮書(shū)的《Windows Internals》,此外,Mark Russinovich 還精通逆向工程,震驚世界的索尼BMG光盤(pán)復(fù)制保護(hù)丑聞就是他發(fā)現(xiàn)的。

也因如此,不少開(kāi)發(fā)者認(rèn)為像他這樣的大佬不應(yīng)該參與到這種哪個(gè)編程語(yǔ)言更好的爭(zhēng)論之中。

大廠對(duì) Rust 的態(tài)度

盡管作為微軟 Azure 的 Mark Russinovich 表示自己發(fā)表的只是個(gè)人意見(jiàn),但其實(shí)微軟對(duì) Rust 的態(tài)度已經(jīng)很明朗。不僅僅是作為 Rust 基金會(huì)的創(chuàng)始人,早在 2019 年,微軟就開(kāi)始使用 Rust 重寫(xiě) Windows 組件。當(dāng)時(shí)微軟表示,其產(chǎn)品 70% 的安全漏洞都是內(nèi)存安全問(wèn)題,他們需要更安全的系統(tǒng)編程語(yǔ)言,毫無(wú)疑問(wèn),Rust 是最好的選擇,Rust 編譯器提供的內(nèi)存和數(shù)據(jù)安全給微軟的開(kāi)發(fā)者提供了很大的幫助。

微軟在官方文檔中提到,他們選擇 Rust 作為 Windows 最新的程序設(shè)計(jì)語(yǔ)言,另一個(gè)因素就是 Rust 在 Stack Overflow 開(kāi)發(fā)者報(bào)告中已經(jīng)連續(xù) 7 年成為最受開(kāi)發(fā)者歡迎的編程語(yǔ)言。

得益于內(nèi)存安全,Rust 備受青睞,不止微軟,Rust 已經(jīng)在其他科技大廠如蘋(píng)果、亞馬遜、谷歌、Linux 開(kāi)發(fā)中廣泛應(yīng)用。Meta 還將 Rust 列為開(kāi)發(fā)人員首選語(yǔ)言名單。

眾所周知,Linux 之父 Linus Torvalds 對(duì) Rust 也有獨(dú)特的 Rust 的偏愛(ài),Rust 目前已經(jīng)成為 Linux 的第二編程語(yǔ)言,目前 Linux 的內(nèi)核正在使用的 C 語(yǔ)言相比,Rust 最大的優(yōu)點(diǎn)在于內(nèi)存安全。

在 9 月 19 日結(jié)束的內(nèi)核維護(hù)者峰會(huì)上,Linus Torvalds 接受媒體采訪時(shí)說(shuō)道,“如果不出意外,Rust 將出現(xiàn)在 Linux 6.1 內(nèi)核之中”。Torvalds 還表示,除了內(nèi)存安全的因素,他希望在內(nèi)核中看到 Rust 的另一個(gè)原因是鼓勵(lì)新的開(kāi)發(fā)人員開(kāi)始研究?jī)?nèi)核。

Linux 已迭代至 6.0,目前 Rust 進(jìn)入內(nèi)核的主要問(wèn)題是編譯器,現(xiàn)在的內(nèi)核通常使用 GCC 編譯,但 Rust 通常使用 LLVM 編譯器進(jìn)行編譯。

C++ 之父回應(yīng)

對(duì)于 Mark Russinovich 的言論,外媒 The Register 邀請(qǐng) C++ 之父 Bjarne Stroustrup 進(jìn)行了回應(yīng)。

“人們總是迷戀那些看似能讓他們生活更輕松的新事物,這點(diǎn)在企業(yè)高管上尤其明顯。此外,支持新事物遠(yuǎn)比解決舊工具的已知問(wèn)題更令人興奮。不幸的是,新語(yǔ)言通常需要多年時(shí)間和重大努力才能在其廣泛的應(yīng)用領(lǐng)域與成熟語(yǔ)言相匹配。但大多數(shù)開(kāi)發(fā)者看不到這一點(diǎn),而且他們喜歡發(fā)表片面的評(píng)論?!?/p>

Bjarne Stroustru 還表示:”在許多情況下,安全性至關(guān)重要,這也是我們多年來(lái)一直致力于提高 C++ 安全性的原因。我們現(xiàn)在已經(jīng)在 ISO C++ 中實(shí)現(xiàn)了可靠的完美類型與內(nèi)存安全。具體來(lái)說(shuō),我們消除了空指針問(wèn)題,能夠捕捉范圍錯(cuò)誤,消除了數(shù)據(jù)爭(zhēng)用等。此外需要注意的是,包括 Rust 在內(nèi),任何一種號(hào)稱安全的語(yǔ)言都可能存在不安全代碼的漏洞?!?/p>

Bjarne Stroustru 最后還補(bǔ)充道:“直接替換 C++ 代碼,或者讓它們變得更加安全都是一項(xiàng)非常艱巨的任務(wù),需要逐步慢慢的才能做到這一點(diǎn)。否則大量不安全的 C++ 代碼將會(huì)永遠(yuǎn)存在?!?/p>

開(kāi)發(fā)者的不同聲音

不少開(kāi)發(fā)者許多開(kāi)發(fā)者都對(duì) Rust 的過(guò)度宣傳感到反感,并表示不同的工具適合不同的問(wèn)題,不要再過(guò)度宣傳某一種編程語(yǔ)言。Rust 很好,但它不是所有問(wèn)題的解決方案。

Rust 與 C/C++ 這一次的對(duì)比同樣少不了網(wǎng)友的調(diào)侃,其中就有開(kāi)發(fā)者表示:“在過(guò)去的三十年里,每隔五年 C/C++ 會(huì)被宣布一次死亡”。

也有開(kāi)發(fā)者認(rèn)為 C/C++ 只是工具,批評(píng) C/C++ 不如 Rust 安全是不負(fù)責(zé)任的,程序是否安全應(yīng)該問(wèn)責(zé)開(kāi)發(fā)者,通過(guò)更換編程語(yǔ)言并不能解決程序代碼不安全的問(wèn)題。

確實(shí)像這位開(kāi)發(fā)者所言,Rust 本身并不能保證軟件是安全的,它提供了針對(duì)內(nèi)存安全漏洞的防御,但并不能消除其他類別的漏洞。正如 Rust 官方文檔解釋的那樣,“Rust 包含安全和不安全的編程語(yǔ)言”,開(kāi)發(fā)人員可以選擇為某些任務(wù)編寫(xiě)不安全的 Rust,他們可能會(huì)在無(wú)意中創(chuàng)建不安全的代碼。

拋開(kāi)這些調(diào)侃,盡管不少大廠都在扶持 Rust,但在許多開(kāi)發(fā)者眼中,一方面他們更關(guān)注 Rust 有沒(méi)有在更多的產(chǎn)品中得到應(yīng)用和發(fā)展,另一方面 Rust 過(guò)于陡峭的學(xué)習(xí)曲線也給開(kāi)發(fā)者帶來(lái)了困擾,從學(xué)習(xí) Rust 到具備實(shí)際生產(chǎn)力需要一定的時(shí)間,這也是不少開(kāi)發(fā)者抗拒 Rust 的原因。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微軟
    +關(guān)注

    關(guān)注

    4

    文章

    6541

    瀏覽量

    103821
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2090

    瀏覽量

    73410
  • Rust
    +關(guān)注

    關(guān)注

    1

    文章

    228

    瀏覽量

    6528

原文標(biāo)題:呼吁停用 C/C++,微軟 Azure CTO 更青睞 Rust

文章出處:【微信號(hào):玩轉(zhuǎn)VS Code,微信公眾號(hào):玩轉(zhuǎn)VS Code】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    未來(lái)嵌入式系統(tǒng)的黃金搭檔 MCX N947遇上Rust

    ? Rust 介紹 Rust 是一門(mén)注重安全的語(yǔ)言,相比于 C/C++/ASM 有著更高級(jí)的抽象能力、編譯器帶來(lái)的安全特性與廣泛友好的社區(qū)支持。 Linux 與 Windows 內(nèi)核也
    的頭像 發(fā)表于 07-25 09:14 ?1207次閱讀
    未來(lái)嵌入式系統(tǒng)的黃金搭檔 MCX N947遇上<b class='flag-5'>Rust</b>

    C++語(yǔ)言基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《C++語(yǔ)言基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 07-19 10:58 ?6次下載

    C++中實(shí)現(xiàn)類似instanceof的方法

    C++有多態(tài)與繼承,但是很多人開(kāi)始學(xué)習(xí)C++,有時(shí)候會(huì)面臨一個(gè)常見(jiàn)問(wèn)題,就是如何向下轉(zhuǎn)型,特別是不知道具體類型的時(shí)候,這個(gè)時(shí)候就希望C++ 可以向Java或者Python中有instanceof這個(gè)
    的頭像 發(fā)表于 07-18 10:16 ?440次閱讀
    <b class='flag-5'>C++</b>中實(shí)現(xiàn)類似instanceof的方法

    鴻蒙OpenHarmony開(kāi)發(fā)板解析:【Rust模塊配置規(guī)則和指導(dǎo)】

    C/C++代碼和提升編譯速度,使用了GN + Ninja的編譯構(gòu)建系統(tǒng)。GN的構(gòu)建語(yǔ)言簡(jiǎn)潔易讀,Ninja的匯編級(jí)編譯規(guī)則直接高效。
    的頭像 發(fā)表于 05-10 11:32 ?1164次閱讀
    鴻蒙OpenHarmony開(kāi)發(fā)板解析:【<b class='flag-5'>Rust</b>模塊配置規(guī)則和指導(dǎo)】

    在嵌入式系統(tǒng)中集成Rust和Qt的實(shí)踐

    Rust 擁有豐富的庫(kù)生態(tài)系統(tǒng),用于序列化和反序列化、異步操作、解析不安全輸入、線程、靜態(tài)分析等,而 Qt 是一個(gè) C++ 工具包,支持跨各種平臺(tái)的豐富的、基于 GUI 的應(yīng)用程序,從 iOS 到嵌入式Linux。Qt 應(yīng)用程序包括表示業(yè)務(wù)邏輯的
    發(fā)表于 05-03 10:26 ?1524次閱讀
    在嵌入式系統(tǒng)中集成<b class='flag-5'>Rust</b>和Qt的實(shí)踐

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

    這項(xiàng)發(fā)現(xiàn)由谷歌安卓平臺(tái)工具及庫(kù)的工程總監(jiān)Lars Bergstrom在日前召開(kāi)的Rust Nation英國(guó)峰會(huì)揭示。盡管此前業(yè)內(nèi)對(duì)Rust的安全性和穩(wěn)定性存在一定爭(zhēng)議,特別是其‘unsafe’關(guān)鍵字的存在令人擔(dān)憂。
    的頭像 發(fā)表于 04-01 15:37 ?812次閱讀

    使用 MISRA C++:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    在前兩篇博客中,我們?向您介紹了新的 MISRA C++ 標(biāo)準(zhǔn)?和?C++ 的歷史?。在這篇博客中,我們將仔細(xì)研究以 C++ 中?for?循環(huán)為中心的特定規(guī)則。
    的頭像 發(fā)表于 03-28 13:53 ?664次閱讀
    使用 MISRA <b class='flag-5'>C++</b>:2023? 避免基于范圍的 for 循環(huán)中的錯(cuò)誤

    [鴻蒙]OpenHarmony4.0的Rust開(kāi)發(fā)

    中集成 Rust 代碼,并最大程度發(fā)揮 Rust 和 OpenHarmony 中原有 C/C++ 代碼的交互性,采用 GN 作為統(tǒng)一構(gòu)建工具,即通過(guò) GN 構(gòu)建 Rus
    的頭像 發(fā)表于 02-26 17:28 ?752次閱讀
    [鴻蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>開(kāi)發(fā)

    谷歌捐款100萬(wàn)美元給Rust基金會(huì),以增強(qiáng)C++Rust的交互性

    如今,谷歌多項(xiàng)核心業(yè)務(wù)仍以 C++為主要編程語(yǔ)言,雖然無(wú)法直接使用Rust替代現(xiàn)有的C++程序,但谷歌依然選擇支持Rust基金會(huì)的“Interop Initiative”計(jì)劃,幫助那些
    的頭像 發(fā)表于 02-19 15:41 ?543次閱讀

    c語(yǔ)言,c++,java,python區(qū)別

    C語(yǔ)言、C++、Java和Python是四種常見(jiàn)的編程語(yǔ)言,各有優(yōu)點(diǎn)和特點(diǎn)。 C語(yǔ)言: C語(yǔ)言是一種面向過(guò)程的編程語(yǔ)言。它具有底層的特性,能夠?qū)τ?jì)算機(jī)硬件進(jìn)行直接操作。
    的頭像 發(fā)表于 02-05 14:11 ?1681次閱讀

    一次Rust重寫(xiě)基礎(chǔ)軟件的實(shí)踐

    受到2022年“谷歌使用Rust重寫(xiě)Android系統(tǒng)且所有Rust代碼的內(nèi)存安全漏洞為零” [1] 的啟發(fā),最近筆者懷著濃厚的興趣也順應(yīng)Rust 的潮流,嘗試著將一款C語(yǔ)言開(kāi)發(fā)的基礎(chǔ)
    的頭像 發(fā)表于 01-25 11:21 ?549次閱讀

    C++簡(jiǎn)史:C++是如何開(kāi)始的

    MISRA C++:2023,MISRA? C++ 標(biāo)準(zhǔn)的下一個(gè)版本,來(lái)了!為了幫助您做好準(zhǔn)備,我們介紹了 Perforce 首席技術(shù)支持工程師 Frank van den Beuken 博士撰寫(xiě)
    的頭像 發(fā)表于 01-11 09:00 ?494次閱讀
    <b class='flag-5'>C++</b>簡(jiǎn)史:<b class='flag-5'>C++</b>是如何開(kāi)始的

    C語(yǔ)言和C++中那些不同的地方

    C語(yǔ)言雖說(shuō)經(jīng)常和C++在一起被大家提起,但可千萬(wàn)不要以為它們是一個(gè)東西?,F(xiàn)在我們常用的C語(yǔ)言是C89標(biāo)準(zhǔn),C++
    的頭像 發(fā)表于 12-07 14:29 ?856次閱讀
    <b class='flag-5'>C</b>語(yǔ)言和<b class='flag-5'>C++</b>中那些不同的地方

    c++怎么開(kāi)始編程

    C++是一種高級(jí)的、通用的編程語(yǔ)言,用于開(kāi)發(fā)各種類型的應(yīng)用程序。它是從C語(yǔ)言演變而來(lái),也是一種靜態(tài)類型語(yǔ)言,可以在不同的平臺(tái)上進(jìn)行開(kāi)發(fā)。C++具有高度的靈活性和性能,并且廣泛應(yīng)用于游戲開(kāi)發(fā)、桌面
    的頭像 發(fā)表于 11-27 15:56 ?830次閱讀

    C++之父新作帶你勾勒現(xiàn)代C++地圖

    為了幫助大家解決這些痛點(diǎn)問(wèn)題,讓大家領(lǐng)略現(xiàn)代C++之美,掌握其中的精髓,更好地使用C++,C++之父Bjarne Stroustrup坐不住了,他親自操刀寫(xiě)就了這本《
    的頭像 發(fā)表于 10-30 16:35 ?751次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之父</b>新作帶你勾勒現(xiàn)代<b class='flag-5'>C++</b>地圖