C++ 之父回應(yīng)被建議棄用:一些高管總喜歡迷戀新事物

?Microsoft Azure CTO、Sysinternals 的主要開發(fā)者 Mark Russinovich 近日發(fā)表言論稱?,建議開發(fā)人員停止使用 C/C++ 來啟動(dòng)新項(xiàng)目,并建議可在需要使用 non-GC 語言的場(chǎng)景中使用 Rust。針對(duì)此言論,外媒 The Register 向微軟進(jìn)行了詢問,即 Russinovich 的建議是否會(huì)在微軟全公司范圍內(nèi)進(jìn)行采納,但并未得到回復(fù)。
同時(shí),該網(wǎng)站還就此事采訪了 C++ 之父 Bjarne Stroustrup;Stroustrup 則為 C++ 進(jìn)行了辯護(hù):
“人們 -- 尤其是一些高管 -- 總是會(huì)迷戀那些承諾會(huì)使他們的生活更輕松的新事物,這是很正常的。而且,支持新事物遠(yuǎn)比解決舊的和眾所周知的工具的已知問題更令人興奮。不幸的是,新的語言通常需要多年的時(shí)間和重大的努力,才能在其廣泛的應(yīng)用領(lǐng)域中與成熟的語言相媲美。發(fā)燒友們很少看到這一點(diǎn),他們的評(píng)論往往是相當(dāng)片面的”。
Stroustrup 表示,考慮到安全性的重要程度,多年來他一直在致力于提高 C++ 的安全性;從而現(xiàn)在在 ISO C++ 中實(shí)現(xiàn)了可靠的完美類型和內(nèi)存安全。也就是說,每個(gè)對(duì)象都根據(jù)它定義的類型來使用;這意味著消除了 dangling pointers 的使用、捕獲范圍錯(cuò)誤并消除了數(shù)據(jù)爭(zhēng)用。
他還強(qiáng)調(diào)稱,包括 Rust 在內(nèi)的每一種 “安全” 語言都存在著允許不安全代碼的漏洞。并談到了他參與編寫的 C++ Core Guidelines,這份指南的基本思想是定義一套為保證安全而必須遵守的規(guī)則,然后通過靜態(tài)分析來強(qiáng)制執(zhí)行。而之所以需要這些規(guī)則,就是因?yàn)槿我獾?C 或 C++ 代碼本身都無法自證安全。

“這就是符合 ISO 標(biāo)準(zhǔn)的 C++ 代碼,那些感覺不需要安全保障或者還不能更新代碼的人可以直接不運(yùn)行分析器。目前,微軟 Visual Studio、Clang Tidy 等一些其他地方都有這種分析器的部分實(shí)現(xiàn)。”
Stroustrup 指出,很顯然的是 C++ 正在積極改進(jìn)中,譬如在實(shí)際應(yīng)用中的靈活性和性能提升的各種嘗試。目前已有數(shù)十億行的 C++ 代碼被部署,因此無論是想要對(duì) C++ 代碼?




















