Mojo 1.0 登場:為生態成長立下穩定、可用於生產的底座

2026 年 8 月 11 日,Modular 隨 26.5 版的官方發布文章宣布,Mojo 語言正式邁入 1.0——這是這門語言自 2023 年首次發布以來一路推進的里程碑。官方把這一步定位為「為生態成長提供穩定、可用於生產的語言底座」,意思是開發者現在可以把它當作長期可依賴的基礎來建構專案,而不必擔心語言本身持續變動。

把 1.0 的分量說清楚,關鍵在於「穩定」兩個字。Modular 直言,之所以選在此時做出穩定承諾,是因為 Mojo 已經不只是「自家還在開發的語言」,而是他們每天在生產環境仰賴的語言——它是 MAX 與 Modular Cloud 兩項商業基礎設施的根基。換言之,1.0 不是行銷話術,而是「我們自己的生意已經押在上面」這個事實的正式確認。

這層穩定承諾的具體形狀,早在 2025 年 12 月的通往 Mojo 1.0 之路就畫好了輪廓:導入語意化版本(semantic versioning)、為穩定與不穩定介面設立標記,讓「今天寫的程式明天不會壞掉」成為可預期的工程紀律,而非口頭保證。

不是 Python 替代品:Python 語法外殼、系統語言骨幹

最容易被「Python 語法」這幾個字誤導的,是把 Mojo 想成「會編譯、變快的 Python」。Modular 自己在官方文件裡的定位很明確:Mojo 是「專為高效能 AI 基礎設施與異質硬體設計的系統程式語言」,它採用 Python 風格的語法、讓 Python 開發者容易上手,並完整整合既有的 Python 生態,但本質上是一門系統語言,不是 Python 的替代品。

InfoWorld 的評測把這層關係講得更直白:Mojo「仍保留 Python 風格的語法、沿用許多 Python 的概念,但無疑正朝自己的方向走」。它的「自己的方向」主要體現在兩個地方。第一是強型別與變數語意:變數有明確型別,設成整數後就不能再塞字串進去,這與 Python「物件有型別、名稱沒有型別」的動態模型不同,見〈編碼代理時代的語言實測比較〉。第二是從 Rust 借來的所有權(ownership)觀念——Mojo 不靠執行期的垃圾回收,而是在編譯期追蹤物件的生命週期,以此換取記憶體安全與可預測的效能。

Mojo 以 Python 風格語法為外殼,骨幹卻是強型別、所有權與編譯期檢查的系統語言,底層由 MLIR 支撐從 CPU、GPU 到其他加速器的異質硬體。
圖1 Mojo 以 Python 風格語法為外殼,骨幹卻是強型別、所有權與編譯期檢查的系統語言,底層由 MLIR 支撐從 CPU、GPU 到其他加速器的異質硬體。

讓這一切成為可能的技術底盤,是 MLIR——一個為異質硬體而生的現代編譯器基礎設施。Modular 在官方文件中形容 Mojo 是「第一個從無到有以 MLIR 建構的程式語言」,這意味著開發者能用同一門語言,從高階 AI 應用一路寫到低階 GPU 核心,而不必依賴 CUDA、ROCm 這類硬體專屬函式庫。這條技術血脈其實有跡可循:Mojo 的主導者 Chris Lattner 正是 LLVM、Clang、MLIR 與 Swift 的創建者,Mojo 等於把他過去打造的工具鏈,重新熔鑄成一門鎖定 AI 算力時代的語言。

開源標準庫帶動的社群力道

1.0 之所以是個值得標記的時點,除了官方的穩定承諾,還因為它背後已經長出一個真的在動的生態。Modular 在發布文章中給出一組具體數字:自從把標準庫開源以來,近 200 名貢獻者合入超過 1,100 個 pull request、改動超過 20 萬行程式碼,另有上千人透過回報 issue 參與了語言的塑形。

這組數字的方向值得注意:Mojo 不再只是 Modular 一家公司在推進的內部語言。標準庫放在 GitHub 專案上、以 Apache 2.0 附帶 LLVM 例外條款授權,社群可以在其上貢獻與維護自己的套件;發布文章裡也點名從音訊處理到生物資訊,都已有開發者拿 Mojo 實作應用。對一門要爭取長期信任的語言來說,這種「官方穩定底座+社群疊加套件」的結構,比單純的版本號更有說服力。

穩定不等於定稿:1.x 走加法、編譯器開源、未來還有 2.0

把 1.0 理解成「定稿」會是誤讀。Modular 說得很清楚:1.0 是更長旅程上的一個里程碑,不是終點。在 1.x 階段,變更原則上是加法——會以新增能力為主,必要的破壞性變更會比照 C++ 這類成熟語言的演進標準謹慎處理。1.0 本身也並非只是貼個標籤:26.5 版完成了最後一輪語言清理,例如統一用 var 宣告變數、收斂 closure、整合成單一 Pointer 型別,並加入 Python 風格的 lambda 語法、更穩定的 LSP,以及對參照失效(reference invalidation)這類記憶體安全問題的診斷。

Mojo 以 1.0 立下穩定紀元:1.x 階段以加法為主、預備開源編譯器,更遠的 2.0 才會引入原始碼破壞性變更,編譯器最終會同時支援兩者。
圖2 Mojo 以 1.0 立下穩定紀元:1.x 階段以加法為主、預備開源編譯器,更遠的 2.0 才會引入原始碼破壞性變更,編譯器最終會同時支援兩者。

兩件事值得放在時間軸上看。第一是開源:Modular 重申 2026 年內會開源 Mojo 編譯器與工具鏈,這是早就承諾、但尚未兌現的一步,也是外界檢驗「穩定承諾」誠意的關鍵;後續編譯器與工具鏈完整以 Apache 2.0 釋出後,這項承諾才真正閉環。第二是 2.0:通往 1.0 之路那篇文章已經預告,會有一個原始碼破壞性的 Mojo 2.0,先用 experimental 旗標讓開發者選擇加入,編譯器最終會同時支援 1.x 與 2.0 套件、做到鏈結相容——類比是 C++20 與 C++98 雖然原始碼不相容,仍能建構混合生態。Modular 並特別強調會盡力避免重蹈 Python 2 到 3 的轉換陣痛。換言之,1.0 的穩定是有範圍的:它穩住了 1.x 這個段落,而真正會動搖原始碼的改變,被推遲到 2.0 處理。

Qualcomm 收購後的第一個大里程碑

最後一個背景,讓這次 1.0 的時機更值得留意。Modular 已於 2026 年 7 月 29 日完成被 Qualcomm 收購的程序,正式成為 Qualcomm 旗下公司。也就是說,Mojo 1.0 是這門語言在易主之後的第一個重大里程碑——它既是 Modular 對外展示「語言已成熟、可長期押注」的訊號,也是新東家 Qualcomm 在邊緣到雲端的 AI 軟體布局上,第一塊落地的基石。

Modular 預告會在 8 月 18 日於舊金山舉行的 ModCon 進一步說明 Mojo、MAX 與開源的後續計畫。對於正在觀望「要不要把專案押在 Mojo 上」的團隊,1.0 把「語言會不會一直變」這個最大的不確定性收掉了;至於生態規模、編譯器開源深度與 2.0 轉換的實際衝擊,仍是接下來幾季才會逐一揭曉的變數。