編輯 | 言征
C++,這種在二十世紀晚期曾大放異彩的語言,曾一度站在技術發展的最前沿,尤其是在太空探索領域。然而,隨著更新穎、更具視覺吸引力的編程語言的出現,C++的關注度已經逐漸降低。
在2024年的AI+數據峰會上,研究員Yejin Choi表示,研究人員已經不再使用這種語言進行AI研究。那么,C++是否正在成為過去的遺跡呢?
盡管C++在性能上具有優勢,并在語音識別和計算機視覺等多個AI領域有所應用,但它并不是AI開發的首選語言。其復雜性和陡峭的學習曲線構成了巨大的挑戰。相比之下,Python因其友好的用戶界面、豐富的庫和龐大的開發者社區而躍居AI編程的前沿。
此外,C++涉及手動內存管理,如果操作不當,可能會導致內存泄漏和錯誤。這在大型AI項目中可能成為一個重大問題。微軟在公布過去12年中的更新情況時強調,由于Windows主要用C和C++編寫,其中70%的更新都是為了解決內存安全漏洞。谷歌Chrome團隊也發布了自己的研究,揭示了內存管理和安全漏洞占Chrome代碼庫中所有主要安全漏洞的70%,而Chrome主要用C++編寫。
C++還缺乏垃圾回收、數據庫訪問和線程處理等內置支持,這些都需要額外努力進行開發。
在需要并發處理數據和任務的AI應用中,如深度學習、神經網絡、實時系統、嵌入式系統、數據處理和數據科學等,這可能會特別具有挑戰性。為了克服這些限制,開發者通常會使用提供線程支持的第三方庫和框架,如OpenMP或Boost。然而,這些庫可能會給代碼增加復雜性和開銷,這可能只適用于某些應用。
如果你訪問過類似C++常見問題解答(FAQ)的頁面,你就會明白C++有多難。在早期的語言版本中,一個逗號放錯位置可能會引發數百個編譯錯誤。盡管自C++11以來,該語言通過移動語義(用于轉移所有權)和右值引用來進行了改進,但學習曲線仍然很高。
近年來,我們見證了各種編程語言的發展,這些語言有可能取代C++用于低級系統任務,比如Rust,它通過消除緩沖區溢出和內存泄漏提供了安全性和穩定性(并且比C++更容易學習)。
當你比較像C++、Python和Rust這樣的現代語言的功能集時,C語言開始看起來就像恐龍一樣古老!自2011年以來,C標準就沒有引入過新功能!2017年的標準版本主要包含技術更正和澄清,而2023年的標準版本也沒有帶來什么重大變革。
微軟Azure的首席技術官Mark Russinovich表示,開發者應該停止使用C和C++這兩種編程語言編寫代碼,并且業界應該將這些計算機語言視為“已棄用”。
Bell Labs研究員、原Unix操作系統設計師Ken Thompson稱C++是“糟糕的語言”,它“太大、太復雜”,而且“顯然是由一個委員會構建的”。
GitHub編制了一份機器學習領域最受歡迎的十大編程語言列表。Python是機器學習存儲庫中最流行的語言,而C++排在第六位。
根據Stack Overflow的開發者調查,相比C++,剛開始編寫代碼的初學者更可能選擇Python。
盡管C++在速度和內存管理方面具有優勢,但它也有劣勢,如學習曲線陡峭且社區支持較少。盡管如此,對于需要高性能處理和高級內存管理的機器學習應用來說,C++仍然是一個強大的選擇。機器學習中選擇C++還是Python最終取決于應用的特定需求以及開發者的技能水平。
本文鏈接:http://www.tebozhan.com/showinfo-26-96051-0.htmlC++正在失去人氣嗎
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: Kafka 中的大消息處理策略與C#實現