眨眼間,您可能會錯過另一種新興的程式語言。老話常談,程式設計師花20%的時間編碼,80%的時間選擇使用的語言。在超過700種不同應用狀態的程式語言中,總有改進的空間。
隨著人工智慧(AI)的不斷進步,傳統的語言如Java、C和Python面臨挑戰。這種不斷演變的環境為專門針對AI任務的新程式語言創造了機會。
歷史背景
AI歷史上促進了專用程式語言的發展。在1970年代和1980年代,LISP和Prolog等語言相繼出現,引入了符號處理和邏輯程式設計等概念,對軟體開發產生了重大影響。值得注意的是,LISP影響了現代語言如Python和Haskell,通過引入函數式程式設計範式、動態類型和垃圾回收。
然而,隨著AI領域面臨資金和興趣的下降,通常被稱為「AI寒冬」,焦點轉向了C等通用語言,這些語言為更廣泛的應用提供了更好的性能。
AI首選語言的復甦
如今,AI的復甦促使了一波專為其獨特挑戰而設計的程式語言。現代AI算法的計算強度要求語言有效利用硬體能力,同時保持抽象性。這一趨勢始於像TensorFlow的張量計算語法和Julia等框架,這些框架專注於降低將數學概念轉換為通用代碼的開銷。最近出現的Mojo和Bend等語言也各自針對特定的AI開發需求。
Mojo,由Modular創建,旨在結合Python的用戶友好語法與高性能,並聲稱速度可達Python的35,000倍。它與AI硬體(如GPU)無縫集成,並保持與現有Python庫的兼容性,使開發者能夠利用當前知識同時提升性能。
Python在AI上的挑戰
儘管Python備受歡迎,但在AI任務上存在性能限制。訓練深度學習模型的速度可能非常緩慢,而Python的全局解釋器鎖(GIL)在多線程環境中導致效率低下。此外,Python的動態類型可能增加內存使用,而低層次語言如C++和Rust則提供更好的資源管理。
引入Mojo
Mojo旨在填補這一空白,使開發者能夠編寫能在CPU和GPU上以本地速度運行的AI應用。它提供靜態類型以便早期錯誤檢測、一種記憶體安全的所有權模型,以及適合並行程式設計的高層抽象,同時保持與現有Python代碼的互操作性。
利用開源
自去年八月推出以來,Mojo已吸引超過175,000名開發者。最近,Modular決定將其核心組件開放源碼,以促進協作並加速採用。
AI程式語言的現狀
儘管Mojo展現了潛力,但它並非AI程式語言領域的唯一選手。Swift for TensorFlow最初旨在將Swift的特性整合到AI開發中,但現已被存檔。Google將重心轉向JAX,這是一個加強Python在數值計算和機器學習中的應用的庫,但並非獨立語言。最新的參與者Bend則直接將類似Python的語法編譯為GPU內核,使其非常適合需求嚴苛的AI工作負載。
AI開發的新時代
像Mojo和Bend這樣的AI首選程式語言的出現,標誌著AI開發新時代的開始。這些語言專注於滿足AI的需求,推動高效、表達性強且優化硬體的程式設計。隨著對高級AI能力需求的增長,我們有望看到更多專門工具的涌現,這些工具將程式設計範式與硬體能力相結合。這種關係對於釋放AI的潛力並推動自然語言處理、計算機視覺和自動化系統等領域的創新至關重要。我們今天創造的程式語言將塑造AI開發及整體計算的未來。