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