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