OSCHINA
在 AI 浪潮重塑技術棧的 2025 年,雖然 Python 在各大編程語言排行榜多次霸榜,但其動態類型與性能短板在大規模 AI 工程中愈發顯露疲態。面對這場技術民主化的新挑戰,國產編程語言 MoonBit 以顛覆性創新給出解題思路。Part 1:MoonBit 介紹
MoonBit 是深圳本土前 ReScript 作者張宏波團隊打造的面向云計算、邊緣計算及 AI 的高性能開源語言,聚焦 WebAssembly(WASM)和原生編譯場景。
其核心優勢在于:通過優化的 WASM 后端實現比 Rust/Go 更快的運行速度和更小代碼體積;原生后端直接編譯為機器碼(支持 RISC-V),數值計算性能超 Java 15 倍。近期新增原生后端,強化對嵌入式與 IoT 場景支持,完善 IDE、調試工具及 AI 代碼助手,并引入現代化泛型系統。目前已應用于清華、北大等高校課程,獲海外云服務商采用,核心戶超 6 萬,計劃三年內構建百萬級開發生態,加速云原生與 AI 領域落地。
MoonBit 介紹文章:
1、
2、
3、
Part 2 :Python 的現狀
Python,過去二十年當之無愧的編程巨星。憑借簡潔的語法、龐大的生態、極低的學習門檻,Python 從 Web 開發到數據分析,從科學計算到人工智能,幾乎無所不在。
內容來源于知乎用戶評價
但是在大模型時代,Python 的短板變得更加明顯:
動態類型
保守語法
不利于大規模編程構建
AI 編程不友好
Rust 、C++ 、Ocaml、Haskell 等編程語言都曾做過嘗試想要吸取 Python 豐富生態的優勢,去其糟粕。
原理是通過 CPython 的 API 調用 Python 生態, 但是在沒有 AI 代碼生成工具時代,后續的庫的拓展開發所需要耗費的精力太大,所以至今難以全面完成。而且這幾門編程語言學習曲線過于陡峭,對于 Python 用戶來說缺乏動力去替換。
Part 3:MoonBit 輕松調用 Python 生態
對于許多希望引入更現代語言特性的開發者來說,一個常見的問題是:如何在保留 Python 龐大生態的同時,享受更強大的類型系統、更嚴格的靜態分析和更現代的編程體驗?
現在 MoonBit 被時代選中完成這一設想,無縫融合 Python 生態。
1、如何實現
延續了前者(Rust、C++ 等語言對 CPython 的使用思路)的研究成果,然后又在此基礎上利用 MoonBit 使用自研的 「moon-agent」 智能體框架,和 AI 驅動大規模自動生成 Python 庫的封裝,一旦封裝完成,MoonBit + 自有構建系統的結合,能在許多場景中直接替代原生 Python,不僅復用其生態,還提供比 Python 更友好的 IDE 提示、更強大的類型推導與靜態分析、更精準的 AI 代碼生成支持。
「moon-agent」 智能體框架即將公開上線
2、為什么是 MoonBit
首先 MoonBit 代碼生成的優勢明顯:MoonBit 在設計之初就考慮到與 AI 融合,它的類型系統語法高度適配 AI 編程需求。內部真實場景測試,成功生成上千行代碼幾乎不用修改,便可一次跑通。 其次 MoonBit 擁有優秀的工具鏈:MoonBit 語言類型系統、文檔編程(在文檔里面檢查代碼)、IDE 等等。
而且相對于 Rust 、C 等編程語言, MoonBit 的學習曲線更加平緩,替換成本低。
對不同層級用戶的使用體驗:
對初級用戶而言:MoonBit 提供完善的類型系統、編譯器靜態分析、詳細的錯誤提示,有助于一次性寫出更健壯、穩定的代碼。
對高級用戶、企業級用戶而言:MoonBit 讓團隊可以直接在 MoonBit 中使用現有的 Python 資產,無需重寫或遷移,從而安全地構建大型系統。
對生態貢獻者而言:綁定 Python 庫比綁定 C 庫要簡單得多。只需要編寫 MoonBit 代碼和部分 Python 代碼,而無需處理 C 庫的鏈接器、頭文件位置、C Wrapper 等底層細節。
再通過仔細的對比其中的代碼,我們可以看到與 Python 的調用方式相比,MoonBit 不只是 “能用” Python 庫,而是用一種更現代的方式讓代碼更簡潔、更易懂:
對比一:更人性化的錯誤信息提示(MoonBit 編譯器直接定位錯誤位置,更利于 AI 和人類修改,Python 則會輸出一大串冗余的不明所以的錯誤信息)。
左 moonbit,右 python
對比二:IDE 提示 Python 里,顏色參數直接用字符串
'orange'
、'blue'
傳遞,沒有任何類型約束。如果拼寫錯了,比如'oragne'
,程序會直接崩潰或輸出錯誤顏色,但 IDE 和靜態工具完全幫不上忙。
Markdown文件里進行代碼提示
MoonBit 采用枚舉類型(Orange
、Blue
),IDE 能直接提供自動補全,編譯器還能在編譯時檢查參數合法性,極大減少低級錯誤。對于需要高度穩定性的大型系統或 AI 編程場景,這種顯式、安全的參數表達格外重要。
4、案例展示: 案例-1 雙擺,turtle 繪圖工具,繪畫雙擺(封裝好)
調用 Python turtle 庫進行物理系統模擬,底層調用 Python turtle
這是一個封裝好的 turtle 庫,可僅使用 MoonBit 代碼進行繪畫,享受 MoonBit 工具鏈的優勢。
在底層,這段 MoonBit 代碼使用了 Python 的 Turtle 庫,但表面上,它完全展現為優雅、簡潔的 MoonBit 代碼。這就是 MoonBit 封裝好 Python 后的美妙之處:不僅看起來整潔,用起來也順暢自然。到這里,想必大家可以看出相比綁定 C 庫的復雜度,這幾乎是 “平民級” 的簡潔體驗。
案例-2 小游戲,直接調用 Python 生態(直接調用)
例如,調用 Python 中的pygame
外星人小游戲:
相比之下,綁定 C 庫往往要解決繁瑣的鏈接、跨語言接口、內存管理問題。
MoonBit 則完全不同:
只需一行
pyimport
,即可獲取 Python 庫模塊引用;無需繁瑣的 C 頭文件,處理復雜的鏈接問題,處理煩心嵌套的頭文件問題,引用計數問題,與討厭的 Cmake 、makefile 等 C 語言構建系統打交道。
MoonBit 不僅在國內被稱為「國產編程語言之光」,在海外也備受關注:
美國 IT 權威媒體《InfoWorld》評價: MoonBit 是 "2025 年最值得學習的 11 大前沿編程語言"。
知名科技媒體《The New Stack》表示:MoonBit 生成的 Wasm 代碼體積小于 Rust 等主流語言,展現出在邊緣計算等領域的開發潛力。
Vue 作者尤雨溪:MoonBit 在 JS 后端設計方式的好處是可以編寫漂亮的功能代碼,以手動優化級別的性能對集合 (映射、過濾器等) 進行迭代,我對 MoonBit 編譯速度和開發潛力表現出高度期待。
Golemcloud 公司 CEO John :它是 WASM 原生的,通過對組件模型的支持可讓你快速輕松地構建 WASM 組件并部署在各類云平臺上,并且你可以獲得終極安全性、邊緣部署、持久執行、低延遲彈性等等優勢。MoonBit 還是一種有趣的語言,在 Scala 和 Rust 之間達到了最佳平衡。
最近 MoonBit 也頻繁在國際技術大會上露臉,在 5 月 13 日 舉行的 LambdaConf 2025 上,MoonBit 作者張宏波與 Jai 語言作者 Jonathon Blow、新加坡前總理李顯龍之子 Scala 核心貢獻者李浩毅等同臺交流。
會上 MoonBit 表示即將全面推出的異步編程模型:
在目前完成底層異步原語的實驗性實現基礎上,MoonBit 正在構建一套后端無關、平臺無關的異步抽象體系,使開發者能以同步風格書寫高效異步代碼。這一模型適用于 Web 前端、Wasm 運行時、云服務、嵌入式設備乃至 AI Agent 的開發場景,目標是在 2025 年為全球開發者提供一致、安全、現代化的異步編程體驗。
Part 5:總結
作為一門國產開源語言,MoonBit 的突破性不僅在于性能與工具鏈的領先,更在于其直面 Python 生態的 “兼容性困局”,通過 AI 驅動的生態復用模式,開辟了一條獨特的語言迭代路徑:
性能與生態兼顧:通過 Wasm 優化與原生編譯雙軌并行,解決了 Python 長期存在的性能短板,同時以極低成本調用現有 Python 生態庫,避免生態割裂風險。
開發者體驗升維:從編譯器錯誤提示到 IDE 智能輔助,MoonBit 將代碼健壯性與開發效率的結合推向新高度,為大規模工程化開發提供可靠基礎。
MoonBit 的實踐也驗證了一種可能性:在 AI 工具鏈的加持下,編程語言可通過 “生態繼承” 而非 “生態重建” 實現迭代。其技術路徑為行業提供了關鍵啟示:
生態復用模式:通過 AI 自動化封裝,降低跨語言調用門檻,避免重復造輪子,加速技術棧升級。
靜態類型普惠化:將嚴格類型系統與 AI 代碼生成結合,既保留 Python 的靈活性,又彌補動態類型的系統性缺陷,推動開發者向更安全的編程范式過渡。
MoonBit 的崛起,標志著國產編程語言從 “技術追趕” 轉向 “場景創新” 的關鍵轉折。它不僅是 Python 生態的挑戰者,更是 AI 時代編程范式的探路者 —— 若能在性能、生態與開發者體驗間持續平衡,或將成為下一代云原生與邊緣計算開發的核心基礎設施。這場革新能否成功,取決于技術、社區與商業化的協同共振,而答案或許將在未來三年初見分曉。
項目鏈接
python.mbt:
https://github.com/Kaida-Amethyst/python.mbt
matplotlib.mbt:
https://github.com/moonbit-community/matplotlib.mbt
參考資料
PyO3,Rust 對 CPython 的 binding:
https://github.com/PyO3/pyo3
PyBind11,C++ 對 CPython 的 binding:
https://github.com/pybind/pybind11
Pyml,OCaml 對 CPython 的 binding:
https://github.com/ocamllibs/pyml
Haskell-CPython,Haskell 對 CPython 的 binding:
https://hackage.haskell.org/package/cpython
為什么那么多人說 Python 是垃圾?:
https://www.zhihu.com/question/596428165/answer/18597063848
↓分享、在看與點贊~Orz
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.