0 1
引言
在科技領域,每一次重大突破的背后,往往都有一群默默耕耘的探索者。近期國產技術的崛起讓我們看到了中國在人工智能領域的潛力,也提醒我們:在基礎軟件的廣袤領域中,還有很多未廣為了解的核心技術在飛速發展!
知乎上有很多關于國產&編程語言的討論:
- 國產編程語言這桿大旗有誰能扛起來嗎?
- 中國人就只能套殼,仔細一扒開都是國外的技術?
- 為什么沒有中國人發明一個獨立靠譜的編程語言呢?
但其實國內已經誕生了基礎軟件領域——編程語言中的一顆新星,它就是MoonBit 。
有不少試用過的程序員給出了評價。或許大家已經被之前各種套殼的新聞搞得有些 PTSD,但事實上中國的科技實力已經遠超想象。
作為一門新興的編程語言,MoonBit 語法簡潔、類型系統強大、跨平臺支持、在 WASM 領域具有先天優勢、原生AI支持,它似乎正在悄悄改變編程語言格局。
MoonBit 社媒平臺顯示已正式被企業應用,包括數據庫公司、海外的云廠商、高校和競賽組織等應用。最近也正式進駐到北京大學計算機學院的研究生課程《編程語言的設計原理》中,作為一門新的編程語言,短短兩年間就進入最高學府的課堂中,也算是一個「壯舉」。
用 Deepseek 生成了編程語言對比
個人判斷應該 MoonBit 在探索編譯器設計、類型系統和運行時優化等核心問題上優勢更強。而且MoonBit 語法簡潔、學習曲線平緩,且提供在線 IDE 和編譯器 Explorer,對于教學與實驗場景來說是很合適的。
值得注意的是,MoonBit 不止在國內被稱為「國產編程語言之光」,在海外也得到了眾多老外的認可:
最近我注意到國際上 WASM 技術最權威的大會上也見到了 MoonBit 的身影。
總的來說 MoonBit 的出現,讓我意識到,中國在基礎軟件領域同樣擁有巨大的創新潛力。
呼吁大家關注和支持基礎軟件的創新。未來的技術突破,很可能就隱藏在這些尚未被廣泛發現的“寶藏”之中。
0 2
MoonBit 發展觀察
MoonBit 是由來自深圳 Rescript 作者張宏波團隊打造的開源編程語言,目前大概發展了兩年時間,專注于 WebAssembly(Wasm)和 AI 技術,發展非常迅猛。
1、2024 年MoonBit 的發展歷程
4 月:新增 JavaScript 后端,超越原生性能8倍以上
8 月:發布 beta 版,支持零開銷泛型和精準錯誤處理。核心語言特性超越大部分主流語言的1.0版本,語言特性開發穩定。社區成員自發編寫的MoonBit-Extism插件,已被Extism納入官方PDK庫,成為海外社區支持下的首個實用案例
10 月:新增 Native 后端,拓展應用場景。值計算領域相比 Java 快一個數量級,內存管理性能優于 Java & Swift。
12月:Github 正式收錄MoonBit
12月:WASM 核心編譯器開源
25年初:核心用戶近 4 萬
2、MoonBit 的優勢
MoonBit 作為一個新的編程語言,選擇從 WASM 切入,擴大用戶生態,但我理解它的最終版圖很大,最終應該是希望進展原生后端等多層面的工作。
MoonBit 語言融合了 Python、JavaScript 等多個語言優勢,通過緊湊語法與語義革新降低代碼復雜度,其核心設計亮點如果總結的話大概分為四大領域:
(1)云邊端性能標桿
編譯為 WebAssembly(體積僅 Rust 1/4,運行速度超 Go 35 倍),原生沙箱安全與內存隔離技術賦能云原生高并發場景(如 27KB 超輕量 HTTP 服務)
(2)嵌入式硬件突破
支持 RISC-V 指令集直接調用硬件層(如傳感器),無虛擬機原生機器碼性能碾壓 Java/Swift(FFT 算法提速 15 倍),內存占用優化適配 IoT 設備
(3) 數據流處理革命
內置 JSON 解析加速(25 倍于 JS)與響應式編程范式,結合靜態類型系統實現實時數據流可靠處理(股票行情/游戲場景毫秒級響應)
(4)全棧開發新基建
支持 Wasm/JS 雙后端編譯(JSON 處理快 JS 8 倍),兼容 C 語言生態調用 AI 推理庫,已應用于高性能圖數據庫與系統級工具鏈開發
除此之外,和一般的IDE調用大模型生成代碼不同,在 MoonBit 設計之初,張宏波就考慮到了與大模型的深度融合和互動。
我看了MoonBit 官方寫的論文:
https://Ilm4code.github.io/2024/assets/pdf/papers/7.pdf,感覺 MoonBit 有了 AI大模型的加持簡直如虎添翼,也理解了他們所謂的 AI 原生:「MoonBit 是真正意義上誕生在大模型時代,從最開始的語言設計上就思考如何更好的和大模型交互的編程語言。」
MoonBit 也有 VSCode的插件,支持了國產大模型 DeepSeek,整個體驗很不錯:https://marketplace.visualstudio.com/items?itemName=moonbit.moonbit-lang
0 3
值得說的最新的進展 —LLVM后端
MoonBit可以編譯成WASM,JavaScript,然后在各自的虛擬機執行。MoonBit也可以編譯成C語言,最后生成二進制機器碼,直接在硬件上執行,這不僅意味著性能的顯著提升,也使得MoonBit成為適合嵌入式和IoT開發的理想選擇。
但是,雖然C語言很成熟,但它是一個分散的生態系統,不同的 C 編譯器對語言標準有著各自的解釋,并開發了獨特的語言擴展。這導致了大量未定義或依賴具體實現的行為,這些都可能成為潛在的技術陷阱。整數溢出、位域操作、枚舉的底層類型等都是典型例子。因此,在將MoonBit程序轉譯為 C 代碼時,要在不同平臺間保持一致的語義變得極具挑戰性。
相比之下,LLVM 提供了一個截然不同的解決方案,它有一個中間表示(IR),各種編程語言可以先編譯成IR,然后LLVM再把IR轉換為目標機器代碼(如 x86、ARM 等)。
只要把MoonBit編譯成LLVM IR,就可以繞開C語言及其編譯器,不但可以生成原生的機器代碼,還可以充分享用LLVM編譯基礎設施帶來的好處。
1、底層代碼優化
LLVM 提供了通用的優化框架(如循環優化、內聯等),開發者無需重復實現。
2、調試信息支持
LLVM提供的調試信息支持讓我們能夠精確地將代碼映射到源文件,通過 gdb 或 lldb 提供更優質的調試體驗。
調試信息生成以及跨平臺代碼生成等繁重工作。
3、跨平臺支持
只需為不同硬件實現對應的 LLVM 后端,即可讓同一語言支持多種架構(如 x86、ARM、GPU)。
0 4
總結
在云計算、邊緣計算、AI等新興行業快速發展的今天,市場也期待一個全新的編程語言,MoonBit在運行速度、編譯速度、代碼體積等核心指標上很有優勢,很適合這些快速發展的領域。
所以我認為 MoonBit 在未來2-3 年內有機會吸納幾十萬程序員,形成一個繁榮的生態系統,之后會在幾個優勢領域中進行扎根,成為強勢的工具。如符號計算(LLVM 替代)、硬件開發、云原生服務等。
這樣快速迭代發展下去,國產的MoonBit 很有可能成為廣泛流行的編程語言。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.