C++之父近期在接受采訪時,深入探討了人工智能時代開發(fā)者的角色與C++語言的不可替代性。他明確指出,盡管AI在代碼編寫上展現(xiàn)出了強大能力,但解決問題的核心依舊掌握在人類手中。
這位哥倫比亞大學(xué)教授強調(diào),C++并非一種容易被替代的語言。當(dāng)被問及真正希望改變的是什么時,他坦言,改變的并非語言本身,而是開發(fā)者的思維方式。他認(rèn)為,在AI引領(lǐng)的開發(fā)環(huán)境變革中,C++存在的根本理由依然穩(wěn)固,真正的挑戰(zhàn)在于開發(fā)者如何轉(zhuǎn)變思維。
斯特勞斯特魯普指出,當(dāng)前軟件生態(tài)系統(tǒng)過于追求便利性和速度,這導(dǎo)致語言和開發(fā)方法的核心原則正面臨削弱。他特別提到,AI代碼生成工具助長了無意識編碼的習(xí)慣,這些工具往往只是重新組合現(xiàn)有代碼,可能導(dǎo)致過去錯誤的模式和陳舊風(fēng)格被重復(fù)利用。
他進一步解釋,基于GPT的代碼生成器仍在推薦C++中已被淘汰的做法,如原始指針或傳統(tǒng)數(shù)組指針傳遞,這不僅與現(xiàn)代C++的編程理念相悖,還可能阻礙安全且表現(xiàn)力強的代碼編寫。
斯特勞斯特魯普警告,隨著越來越多開發(fā)者依賴AI提供的看似正確的代碼,編程的本質(zhì)——問題識別和抽象設(shè)計能力——可能會逐漸退化。他強調(diào),優(yōu)秀的開發(fā)者應(yīng)具備定義問題和構(gòu)建匹配模型的能力,編碼只是這一過程的產(chǎn)物。
對于人工智能時代創(chuàng)造新語言或廢棄現(xiàn)有語言的嘗試,他持強硬立場。他認(rèn)為,僅僅因為語言存在某些風(fēng)險功能,就選擇去除或替代,并非明智之舉。C++雖然復(fù)雜且有時存在風(fēng)險,但正是這些功能使其在高性能系統(tǒng)、實時控制等領(lǐng)域不可或缺。
斯特勞斯特魯普還表達(dá)了對AI技術(shù)發(fā)展的擔(dān)憂,希望這些技術(shù)不會威脅到開發(fā)者的專業(yè)能力。他認(rèn)為,AI可以提高代碼編寫的效率,但開發(fā)者自身需要對語言和設(shè)計原理有深刻理解,以防止判斷能力喪失和技術(shù)債務(wù)擴散。
針對C++的內(nèi)存安全性問題及其引發(fā)的替代語言討論,他強調(diào),C++從誕生之初就以類型安全和資源安全為核心目標(biāo),并通過現(xiàn)代功能和工具不斷提高安全性。他提出配置文件作為解決內(nèi)存安全問題的策略,并指出C++的性能、控制力和抽象范圍是其他新語言難以匹敵的。
斯特勞斯特魯普還提到,任何新語言要想成功,都必須與C++和Python等現(xiàn)有語言兼容,否則將陷入支離破碎、難以溝通的局面。他認(rèn)為,現(xiàn)代C++的核心在于如何協(xié)調(diào)語言的理念和風(fēng)格,而非單純使用新功能。
自C++11以來,該語言提供了智能指針、自動類型推導(dǎo)、概念和模塊系統(tǒng)等多樣特性,這些不僅是可選選項,更是構(gòu)建安全強大軟件的核心組成部分。他強調(diào),積極利用這些現(xiàn)代特性,才是保持和提升開發(fā)者能力的關(guān)鍵。