發(fā)布地址: 北京
轉(zhuǎn)自:CSDN
回顧中國根技術(shù)的發(fā)展歷程,艱難緩慢。
但隨著國家的重視與科技實(shí)力的提升,我們目前對于芯片(RISC-V 生態(tài))、操作系統(tǒng)、數(shù)據(jù)庫三座大山的征服正在加速。
不過編程語言卻鮮有人問津。但在軟件開發(fā)領(lǐng)域編程語言卻尤為重要,它是所有軟件生態(tài)的入口,開發(fā)者粘性甚至比操作系統(tǒng)還要大,現(xiàn)在是時候正視「編程語言」面臨的挑戰(zhàn)與機(jī)遇了。
編程語言不僅僅是一門程序員每天使用與計(jì)算機(jī)交流的工具,它的底層需要有一整套高度可靠的工具鏈支撐,這一整套工具鏈以及標(biāo)準(zhǔn)的制定目前基本上都被國外所把控。編程語言之于軟件開發(fā),猶如 EDA (電子設(shè)計(jì)自動化)之于芯片開發(fā)。適逢大模型時代,軟件工程正在加速被顛覆,如何更好的和大模型進(jìn)行整合這一命題為行業(yè)帶來新的變局,也給后來者更好的反超機(jī)會。
今天我們來介紹一下最近進(jìn)展飛速的 ChatGPT 后時代的國產(chǎn)編程語言 MoonBit 。
MoonBit 的誕生并非是無源之水,而是源于 MoonBit 團(tuán)隊(duì)負(fù)責(zé)人張宏波在基礎(chǔ)軟件領(lǐng)域近 20 年探索的厚積薄發(fā)【1】。
他從清華本科算起就一直從事編程語言和開發(fā)者工具開發(fā)研究工作。
隨后他機(jī)緣巧合進(jìn)入到 OCaml 編程語言的核心維護(hù)中,值得一提的是前年 OCaml 獲得了 ACM 系統(tǒng)軟件獎(計(jì)算機(jī)世界級大獎之一),去年獲獎的編程語言是 Rust。
后來他在紐約工作期間研發(fā)了一個新的編程語言叫 ReScript ,這門編程語言被一些國際知名公司的知名項(xiàng)目使用,其中包括 Facebook (Meta)的 messenger 和 chats,同時他也參與了 Flow 編程語言的開發(fā)。
現(xiàn)在他正帶領(lǐng)團(tuán)隊(duì)專注于 MoonBit 編程語言及其工具鏈的研發(fā)。
MoonBit 作為一種面向人工智能與大型系統(tǒng)設(shè)計(jì)的 AI 原生編程語言,融合了靜態(tài)類型安全、多范式編程和原生 AI 支持等特性,同時強(qiáng)調(diào)高性能與開發(fā)效率。歷程回顧:
2023 年:核心技術(shù)突破與首次公開亮相西班牙巴塞羅那 WASM I/O 大會(WASM 全生態(tài)的技術(shù)盛會)
獲得第十二屆開源操作系統(tǒng)年度技術(shù)大會 (OS2ATC) 最佳硬科技前沿創(chuàng)新獎【5】
正式納入北京大學(xué)計(jì)算機(jī)學(xué)院研究生課程【6】,有專家評價:“C 語言是理解計(jì)算機(jī)系統(tǒng)的‘顯微鏡’,而 MoonBit 是觀察現(xiàn)代語言設(shè)計(jì)的‘望遠(yuǎn)鏡’,課程與實(shí)踐的結(jié)合讓學(xué)生既能觸摸硬件本質(zhì),又能把握語言進(jìn)化方向。”
2025 年 5 月:
受邀全球知名的編程技術(shù)會議 ?LambdaConf 邀請發(fā)表主旨演講
MoonBit 官方近期公布,經(jīng)過深度打磨與社區(qū)反饋的持續(xù)優(yōu)化,MoonBit?Beta 版本今日發(fā)布:「本次版本以『語言穩(wěn)定性』為核心,聚焦高頻問題修復(fù)與體驗(yàn)優(yōu)化。」
此次 Beta 正式版發(fā)布也釋放出一個重要信號:MoonBit 正在逐步擺脫“實(shí)驗(yàn)性技術(shù)”的印象,演進(jìn)為適用于企業(yè)正式場景的先進(jìn)工具。
語言特性進(jìn)入穩(wěn)定期:目前 MoonBit 已覆蓋工業(yè)級開發(fā)所需的語言特性與工具鏈支持。現(xiàn)有語法和語義將保持向后兼容,未來的更新將盡量避免破壞性修改。
改進(jìn)流程更標(biāo)準(zhǔn)化:語言層面的進(jìn)一步優(yōu)化將通過公開、透明的 RFC 流程與社區(qū)共同討論,確保演進(jìn)方向清晰、穩(wěn)定、可協(xié)作。
異步支持【7】:MoonBit 在語言層面提供了錯誤處理與異步編程的支持。具有三大優(yōu)勢。
安全性:大部分編程語言在靜態(tài)分析中,徹底放棄錯誤處理的支持,這意味著任何函數(shù)都可以拋出異常,很難寫出高可靠性的代碼,MoonBit通過準(zhǔn)確的控制流分析,可以完全在編譯時期跟蹤函數(shù)的錯誤,用戶只需要在頂層標(biāo)記用作文檔的簽名。這一過程幾乎完全由編譯器自行推導(dǎo),而又不像 Java checked exception?那樣過于繁瑣,對用戶帶來較高的心智負(fù)擔(dān)。
編寫便捷性:在 MoonBit 中,帶有錯誤和異步操作的函數(shù)使用起來就像普通函數(shù)一樣便利,無需任何特殊標(biāo)記,也無需修改程序結(jié)構(gòu)。
可讀性:MoonBit IDE 會給帶錯誤的函數(shù)標(biāo)注「下劃線」、并將異步函數(shù)標(biāo)記為「斜體」。用戶在編寫代碼時無需寫任何特殊標(biāo)注,但依然能在閱讀代碼時快速定位到帶有錯誤/異步的關(guān)鍵操作。
下面是一個知名命令行程序?cat?的簡單版的 MoonBit 實(shí)現(xiàn)。這段程序包含了對多個不同來源操作的錯誤處理、異步操作等,實(shí)際控制流非常復(fù)雜。但在 MoonBit 中,這段程序編寫起來非常自然簡潔,沒有任何語法噪音。同時,得益于語法著色,閱讀代碼時很容易捕捉到幾處異步/帶錯誤的關(guān)鍵操作。
在剛過去的 5 月,MoonBit 在 LambdaConf 上發(fā)表了關(guān)于異步編程的主旨演講,展示了原生的語言級異步與錯誤處理機(jī)制。相較于 Python 需要通過?async
/await?和第三方庫實(shí)現(xiàn)異步,MoonBit 提供了一種更自然、零語法負(fù)擔(dān)的并發(fā)模型,并在編譯期即可追蹤錯誤傳播路徑,顯著降低因控制流復(fù)雜導(dǎo)致的潛在故障。這種將類型安全與語義清晰相結(jié)合的設(shè)計(jì),為構(gòu)建穩(wěn)定、可維護(hù)的智能系統(tǒng)打下了堅(jiān)實(shí)基礎(chǔ)。總結(jié):開發(fā)者不必?fù)?dān)心因版本更新導(dǎo)致的代碼不可用或頻繁重構(gòu)的問題,MoonBit?已具備長期可維護(hù)的開發(fā)基礎(chǔ),雖然語言本身趨于穩(wěn)定,但標(biāo)準(zhǔn)庫和工具鏈仍將持續(xù)優(yōu)化,包括命名統(tǒng)一、模塊拆分與結(jié)構(gòu)調(diào)整等工作正在推進(jìn)。與此同時,MoonBit?的語法風(fēng)格、注釋規(guī)范和庫設(shè)計(jì),也將逐步納入主流大模型訓(xùn)練語料體系中。但不能忽視的是編程語言的開發(fā)是一個長周期的工程,MoonBit 相較于 Rust 等編程語言進(jìn)展已非常驚喜,但還有很長的路要走。
強(qiáng)壁壘的優(yōu)勢
1、在 AI 時代有強(qiáng)優(yōu)勢
MoonBit 作為專為 AI 協(xié)同開發(fā)設(shè)計(jì)的編程語言,其核心優(yōu)勢在于「雙向可讀性」——AI 生成的代碼像人類手寫一樣清晰,開發(fā)者能輕松理解并修改,而 AI 也能精準(zhǔn)解析現(xiàn)有代碼邏輯進(jìn)行智能補(bǔ)全或重構(gòu)。這種特性尤其體現(xiàn)在 IDE 的智能感知上:當(dāng) AI 分析代碼時,能自動識別上下文關(guān)系(比如變量作用域、函數(shù)調(diào)用鏈),避免傳統(tǒng) AI 編碼工具常見的「斷片式建議」。更關(guān)鍵的是,其「重構(gòu)安全」機(jī)制會通過靜態(tài)檢查確保 AI 的修改不會破壞原有功能,相當(dāng)于給 AI 裝了個防撞系統(tǒng)。
對于日常開發(fā)痛點(diǎn),MoonBit 提供了直擊要害的解決方案:調(diào)試時不再需要逐行打斷點(diǎn),內(nèi)置的 value tracing 功能讓 AI 能直接「看到」程序運(yùn)行時所有變量的變化軌跡,大幅縮短調(diào)試鏈路。代碼結(jié)構(gòu)上采用模塊化設(shè)計(jì),每個功能塊(如函數(shù)、類)都可被 AI 獨(dú)立處理——比如你寫核心邏輯的同時,AI 能并行生成文檔或單元測試,效率提升堪比「多線程編程」【8】。
從目前已公開的對比數(shù)據(jù)看,MoonBit 內(nèi)置的 AI agent moonagent 相比 Codex-cli(OpenAI) 可實(shí)現(xiàn)近 2 倍提效,支持多段并發(fā)處理與智能修改推理,展現(xiàn)出更強(qiáng)的 AI 編程協(xié)同能力。
MoonBit 內(nèi)置 AI agent(moonagent)與 OpenAI 出品的 codex-cli 工具 在處理同一編程任務(wù)時的性能差異
2、支持國產(chǎn)芯片開發(fā)
從官方的生態(tài)路徑來看,MoonBit 一直圍繞軟硬件一體化和 AI 編程兩個方向展開探索,并且已經(jīng)取得了初步成效,長期以來,C 一直是嵌入式開發(fā)的事實(shí)標(biāo)準(zhǔn),但 C 語言語法復(fù)雜、缺乏類型安全機(jī)制,已難以滿足現(xiàn)代工程對可靠性和可維護(hù)性的需求。
今年 4 月,MoonBit宣布支持國產(chǎn)芯片ESP32-C3【9】, 根據(jù)公開數(shù)據(jù),在 QEMU + ST7789 環(huán)境下實(shí)測中實(shí)現(xiàn)了與 C 幾乎等效的運(yùn)行效率,延遲差距控制在 0.5ms 內(nèi)。MoonBit作為一個高級編程語言,其性能能與底層編程語言相媲美,這意味著MoonBit的應(yīng)用場景將大為增加。
海內(nèi)外用戶親身體驗(yàn)后點(diǎn)贊
MoonBit 正在被開發(fā)者社區(qū)以“真正可落地的基礎(chǔ)設(shè)施”來重新審視,過去幾個月中,MoonBit 已被用于構(gòu)建真實(shí)的云原生生產(chǎn)系統(tǒng)。并吸引了近百名貢獻(xiàn)者產(chǎn)出了 1800+ 的生態(tài)包。
美國工程師 Glenn Lewis 用 MoonBit 為云服務(wù)商 GolemCloud 開發(fā)了完整的 WebAssembly SDK,并已正式上線運(yùn)行。他還憑借 MoonBit 的優(yōu)勢在美國當(dāng)?shù)氐暮诳婉R拉松賽事中贏得大獎。
如今他已累計(jì)貢獻(xiàn)超 30 個生態(tài)包,包括字體支持庫與一套插件系統(tǒng)(MoonBit PDK),并率先將 MoonBit 集成至 WASM 云原生框架 Spin 中,現(xiàn)已被 Extism 官方插件庫收錄。
此后 MoonBit 也引起了 GolemCloud CEO John A. De Goes 的關(guān)注。他在社交媒體X上表示:「在今年與MoonBit 團(tuán)隊(duì)負(fù)責(zé)人張宏波一起參加 WASM I/O 活動后,對 MoonBit 抱有更高的期待,MoonBit 融合了 Rust 的語義特性,引入 GC,同時在工具鏈和性能方面“有很多值得深入探索的亮點(diǎn)”。“ 他還在社交媒體上宣布 2025 年 LambdaConf 所組織的黑客馬拉松中他會考慮正式采用 MoonBit 作為比賽語言。
一名國際知名 AI 平臺的技術(shù)負(fù)責(zé)人近期在 Discord (海外社交平臺)提出被 MoonBit 的技術(shù)優(yōu)勢吸引, 愿意向 MoonBit 付費(fèi)咨詢,原文:「團(tuán)隊(duì)正在考慮將 MoonBit 用于一項(xiàng)關(guān)鍵系統(tǒng)組件,并希望能獲得來自語言作者的直接技術(shù)支持。我們可能會在這上面押一個技術(shù)注,MoonBit 看起來已經(jīng)達(dá)到了我們使用的門檻,如果能有語言作者(MoonBit)團(tuán)隊(duì)的支持,將更有信心推進(jìn)。」
除此之外 MoonBit 官網(wǎng)上也展示一些技術(shù)專家對于其評價:
值得一提的是「 justjavac 迷渡 」在 MoonBit 發(fā)布 Rabbit Tea UI 框架后發(fā)迅速開發(fā)了一個moonbit-webview?插件,從項(xiàng)目代碼看,他將 MoonBit 程序嵌入原生 WebView 環(huán)境運(yùn)行,項(xiàng)目底層依賴 C/C++ 實(shí)現(xiàn)的 WebView 庫,并通過 MoonBit 的 FFI 能力進(jìn)行綁定和調(diào)用,可以在桌面環(huán)境里跑出 UI 界面。項(xiàng)目使用方式保持極簡風(fēng)格,示例代碼中只需數(shù)行即可完成窗口配置與頁面注入:
justjavac開發(fā)的MoonBit-view 插件
未來可期
回溯到語言最初的設(shè)計(jì)階段,我們發(fā)現(xiàn) ?MoonBit 試圖解決一個關(guān)鍵問題:當(dāng)代碼的主要編寫者不再是人類,而是 AI 模型時,語言應(yīng)該具備怎樣的結(jié)構(gòu)?
這也是一個正在被技術(shù)社區(qū)熱烈討論的話題。有人認(rèn)為 MoonBit 有機(jī)會填補(bǔ)「高性能 + 類型安全 + AI 友好」三者兼容的空白,也有人質(zhì)疑,在已有語言生態(tài)如此成熟的今天,MoonBit 是否真的有機(jī)會突圍?我對 MoonBit 充滿期待。
作為最早支持 WASM 的語言之一,MoonBit 天然適配高性能、低延遲、跨平臺的分布式系統(tǒng)開發(fā)場景。在瀏覽器、邊緣節(jié)點(diǎn)和輕量微服務(wù)中,MoonBit 可通過 WASM 快速實(shí)現(xiàn)可移植部署,并保持極低的運(yùn)行時開銷。對于需要“寫一次、運(yùn)行在任意環(huán)境”的開發(fā)需求,它提供了一種極具工程效率的路徑。
更重要的是,MoonBit 提供了即時反饋的開發(fā)體驗(yàn)。在 Web 環(huán)境中,開發(fā)者可在瀏覽器中快速驗(yàn)證代碼。目前在主流技術(shù)棧中,MoonBit 是少數(shù)能實(shí)現(xiàn)“修改即響應(yīng)”的語言之一。
相信未來 MoonBit 有機(jī)會成為那個國產(chǎn)基礎(chǔ)軟件的明星,并不是因?yàn)槠鋰a(chǎn)的特殊性,而是因其技術(shù)確實(shí)在全球領(lǐng)先。
參考引用:
【1】ITPUB專訪 | 張宏波:一場關(guān)于編程語言速度與效率的深度對話:https://juejin.cn/post/7397285224378941490
【2】IDEA研究院編程語言MoonBit發(fā)布JavaScript后端,速度提升25倍:https://www.moonbitlang.cn/blog/js-support ?
【3】國產(chǎn)編程語言 MoonBit 登頂海外知名媒體 The New Stack 熱門文章:https://www.oschina.net/news/300384
【4】1888進(jìn)11角逐桂冠!MoonBit全球編程創(chuàng)新挑戰(zhàn)賽圓滿落幕!:https://www.sznews.com/news/content/2024-11/27/content_31361837.htm
【5】OS2ATC 2025 | MoonBit 榮獲最佳硬科技前沿創(chuàng)新獎:https://zhuanlan.zhihu.com/p/1890109537031279170?
【6】MoonBit成為北大編程課程語言;LLVM后端同步發(fā)布:https://www.moonbitlang.cn/blog/llvm-backend?
【7】 MoonBit 異步編程:https://github.com/bobzhang/moonbit-lambdaconf/blob/main/moonbit-en.mbt.md
【8】 MoonBit:為 AI 與大型系統(tǒng)而生,無縫調(diào)用 Python:https://www.moonbitlang.cn/blog/moonbit-x-python?
【9】MoonBit支持國產(chǎn)芯片開發(fā)--性能媲美C:https://www.moonbitlang.cn/blog/moonbit-esp32
END
想要學(xué)習(xí)Linux系統(tǒng)的讀者可以點(diǎn)擊"閱讀原文"按鈕來了解書籍《Linux就該這么學(xué)》,同時也非常適合專業(yè)的運(yùn)維人員閱讀,成為輔助您工作的高價值工具書!
關(guān)注微信公眾號
免費(fèi)查看免費(fèi)推送