中文字幕亚洲欧美日韩在线不卡,亚洲欧美日产综合在线网性色,思思久久精品6一本打道,综合视频中文字幕

    <sub id="dxmnt"><ol id="dxmnt"></ol></sub>

      1. 微軟CTO建議業(yè)界棄用C/C++采用Rust,遭C++之父回懟

        更新時間:2022-09-23 10:05:33作者:智慧百科

        微軟CTO建議業(yè)界棄用C/C++采用Rust,遭C++之父回懟

        出品 | OSC開源社區(qū)(ID:oschina2013)

        近日,Microsoft Azure CTO、Sysinternals 的主要開發(fā)者 Mark Russinovich 在其社交賬號上發(fā)布動態(tài)稱,開發(fā)人員是時候停止使用 C/C++ 來啟動新項目,并建議可在需要使用 non-GC 語言的場景中使用 Rust。

        “說到語言,現(xiàn)在是時候停止用 C/C++ 啟動任何新項目了,并在那些需要使用 non-GC 語言的場景中使用 Rust。為了安全性和可靠性,業(yè)界應(yīng)該宣布棄用這些語言?!?/blockquote>


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

        針對 Mark Russinovich 的言論,外媒 The Register 采訪了 C++ 之父 Bjarne Stroustrup;Stroustrup 則為 C++ 進行了辯護:

        “人們 -- 尤其是一些高管 -- 總是會迷戀那些承諾會使他們的生活更輕松的新事物,這是很正常的。而且,支持新事物遠比解決舊的和眾所周知的工具的已知問題更令人興奮。不幸的是,新的語言通常需要多年的時間和重大的努力,才能在其廣泛的應(yīng)用領(lǐng)域中與成熟的語言相媲美。發(fā)燒友們很少看到這一點,他們的評論往往是相當(dāng)片面的”。

        Stroustrup 表示,考慮到安全性的重要程度,多年來他一直在致力于提高 C++ 的安全性;從而現(xiàn)在在 ISO C++ 中實現(xiàn)了可靠的完美類型和內(nèi)存安全。也就是說,每個對象都根據(jù)它定義的類型來使用;這意味著消除了 dangling pointers 的使用、捕獲范圍錯誤并消除了數(shù)據(jù)爭用。

        他還強調(diào)稱,包括 Rust 在內(nèi)的每一種 “安全” 語言都存在著允許不安全代碼的漏洞。并談到了他參與編寫的 C++ Core Guidelines,這份指南的基本思想是定義一套為保證安全而必須遵守的規(guī)則,然后通過靜態(tài)分析來強制執(zhí)行。而之所以需要這些規(guī)則,就是因為任意的 C 或 C++ 代碼本身都無法自證安全。


        “這就是符合 ISO 標(biāo)準(zhǔn)的 C++ 代碼,那些感覺不需要安全保障或者還不能更新代碼的人可以直接不運行分析器。目前,微軟 Visual Studio、Clang Tidy 等一些其他地方都有這種分析器的部分實現(xiàn)?!?/p>

        Stroustrup 指出,很顯然的是 C++ 正在積極改進中,譬如在實際應(yīng)用中的靈活性和性能提升的各種嘗試。目前已有數(shù)十億行的 C++ 代碼被部署,因此無論是想要對 C++ 代碼進行替換還是加強安全性,都是一項需要循序漸進的艱巨任務(wù)。“否則大量不安全的 C 和舊式 C++ 代碼將 ' 永遠 ' 存在”。

        引發(fā)開發(fā)者熱議

        當(dāng)然,Mark Russinovich 的言論一出,不可避免的引起了廣泛地討論。有人問這是他個人的觀點,還是作為 CTO 的一個聲明。對于這個問題,外媒 The Register 也向微軟進行了詢問,即 Russinovich 的建議是否會在微軟全公司范圍內(nèi)進行采納,但并未得到回復(fù)。

        .NET Foundation 成員 Shawn Wildermuth 則在評論區(qū)提出 疑問 ,Rust 是否有足夠的開發(fā)人員來推動工作的進行?對此則有開發(fā)者回復(fù)稱,“想要舍下 C/C++ 確實非常困難,但這并不重要;年輕的開發(fā)者可以很快掌握 Rust,相較試圖尋找有才華的 C/C++ 開發(fā)者,此舉要容易得多”。

        還有評論表示:

        George Ou:我是 Rust 的忠實粉絲,但對于那些認為有安全版本的 C 和 C++ 的人,你怎么說? Ted Mielczarek:要么他們在騙你,要么他們建議的東西需要有效地重寫你的整個代碼庫,所以你最好使用 Rust。

        而在反對的聲音當(dāng)中,一個 ID 為 ionCube24 的用戶稱,Mark Russinovich 的意思更像是在責(zé)怪語言而不是程序員。但事實是 “C++ 很好,只是很多使用它(和其他語言)的人基本上不知道如何編程;切換語言并不會解決這一問題?!?/p>

        有人以自身實踐舉例表明,Rust 存在局限性,并不能解決他所有的問題。然而該網(wǎng)友的論點似乎有點站不住腳:

        “它不必解決所有問題才能產(chǎn)生重大影響?!?“為什么要以 ‘解決所有的問題’ 為標(biāo)準(zhǔn),它是否需要 ' 解決你所有的問題 ' 才能在編程中產(chǎn)生實質(zhì)性的差異?在我看來,想要 ' 在所有新項目中使用它 ' 這個標(biāo)準(zhǔn)遠比讓 ' 它能解決所有已知問題 ' 要低得多?!?/blockquote>

        還有人則頗為 “痛心” 的感嘆 Mark Russinovich 變了,不再 “cool” 了。也有相對理智的發(fā)聲稱,“或者更好的方式是:不要再過度的去宣傳推廣一種編程語言。不同的工具適合不同的問題。Rust 很好,但它不是所有編程問題的解決方案”。

        更有甚者提出了自己認為更好的 C/C++ 替代方案,“當(dāng) GCed 系統(tǒng)語言可以接受時,也不會再有新的 C/C++ 項目。Go、Nim 和 Crystal 都是比 C/C++ 更好的選擇。還有 Zig,它正在做一些很酷的事情,但尚未像 Rust 那樣成熟或流行?!?/p>

        目前,Hacker News 和 Reddit 上也有相關(guān)的話題討論。

        不過話說回來, Rust 最近確實有著較高的熱度:

        相關(guān)鏈接: https://twitter.com/markrussinovich/status/1571995117233504257

        https://news.ycombinator.com/item?id=32905885

        https://www.reddit.com/r/rust/comments/xitq5o/mark_russinovich_azure_cto_its_time_to_halt/

        本文標(biāo)簽: 微軟  rust  代碼  編程  cto