2024年對 MoonBit 來說是一個非凡的里程碑年。在 AI 浪潮澎湃的一年里,用戶數(shù)量呈現(xiàn)指數(shù)級增長,新功能陸續(xù)發(fā)布,會議演講創(chuàng)下新紀(jì)錄,社區(qū)也形成生態(tài)規(guī)模。隨著年終將至,回顧這一年,MoonBit 在技術(shù)創(chuàng)新和社區(qū)建設(shè)方面取得的成就不容忽視。
全國頂尖高校、知名海外云服務(wù)提供商、亞洲與太平洋地區(qū)信息學(xué)奧林匹克競賽以及創(chuàng)新數(shù)據(jù)庫廠商紛紛在實際場景中應(yīng)用 MoonBit,并取得了顯著的成效。本文將回顧 MoonBit 月兔過去一年的技術(shù)進(jìn)展與應(yīng)用成效,并對未來的發(fā)展?jié)摿M(jìn)行展望。
相比于其他主流編程語言,MoonBit 語言具有先天優(yōu)勢:
1. 專注于新一代標(biāo)準(zhǔn)指令集 Wasm,形成后發(fā)優(yōu)勢:
MoonBit 通過其獨特的編譯器技術(shù),將編程語言的特性高效編譯成可在 Wasm 環(huán)境中運行的實際代碼。基于此,開發(fā)者可以利用其選擇的編程語言的特性,來創(chuàng)建在不同平臺上運行的 Web 應(yīng)用。目前 Wasm 后端的運行性能和代碼生成體積均優(yōu)于 Rust 和 Go 等主流編程語言。例如,通過優(yōu)化 Wasm 組件模型,MoonBit 可將一個「http-hello-world」示例的代碼體積壓縮至 27KB,顯著小于許多其他語言,這使得 MoonBit 在性能和跨平臺應(yīng)用上展現(xiàn)出強(qiáng)大的優(yōu)勢。
2.誕生于AI浪潮,輕裝上陣:
MoonBit 誕生于 ChatGPT 的發(fā)布之后,恰逢 AI 技術(shù)的迅猛發(fā)展。這為MoonBit 團(tuán)隊提供了重構(gòu)編程語言工具鏈的機(jī)會,可以從零開始設(shè)計,專注于如何與 AI 高效協(xié)作,而無需受傳統(tǒng)編程語言歷史包袱的限制。
3. 經(jīng)驗豐富,底層設(shè)計無縫對接:
MoonBit 的開發(fā)團(tuán)隊擁有十多年的經(jīng)驗,使得語言從一開始便采用自底向上的設(shè)計方式,確保語言本身與開發(fā)工具(如 IDE、調(diào)試器等)無縫銜接,優(yōu)化了開發(fā)者的使用體驗。
MoonBit 標(biāo)志性進(jìn)展
1. 語言生態(tài)
2024年8月18日,beta 預(yù)覽版發(fā)布,核心語言特性超越大部分主流語言 1.0 版本,其中包括:
精準(zhǔn)的錯誤處理:通過控制流分析,在編譯時自動追蹤函數(shù)錯誤,幾乎無需用戶干預(yù),顯著減輕認(rèn)知負(fù)擔(dān)。
創(chuàng)新的泛型系統(tǒng):實現(xiàn)了零開銷的泛型支持,且保持快速編譯速度。相比主流語言多年后才完善的泛型,MoonBit 在預(yù)覽版就已實現(xiàn),提升了類型系統(tǒng)對生態(tài)健康發(fā)展的支持。
高效迭代器設(shè)計:采用零開銷迭代器,使得代碼既簡潔又高效。
2. 多后端支持
早在 2023 年,MoonBit 已支持 Wasm 后端,今年 MoonBit 完成了補(bǔ)全多后端的設(shè)想:
WebAssembly 組件模型(component model):今年在實現(xiàn)對組建模型的支持后,迅速引發(fā) Wasm 社區(qū)的熱烈反響,并得到了 WasmCloud、Extism、Golem Cloud 等海外知名云服務(wù)平臺的官方支持,MoonBit 在微服務(wù)架構(gòu)和云原生應(yīng)用中的獨特優(yōu)勢已被廣泛認(rèn)可。
JavaScript 后端:2024年4月新增對 JavaScript 支持,基準(zhǔn)測試顯示生成的代碼執(zhí)行速度超出原生性能8倍以上。
Native 后端:2024年10月新增對 Native 后端支持,數(shù)值計算領(lǐng)域快 Java 一個數(shù)量級、內(nèi)容管理性能方面領(lǐng)先于傳統(tǒng)編程語言 Java 以及 Swift。Native 后端不僅能生成原生二進(jìn)制,還支持交叉編譯到所有 C 語言支持的平臺,擁抱了嵌入式和物聯(lián)網(wǎng)(IoT)生態(tài)。
現(xiàn)在 MoonBit 能夠覆蓋 UI 開發(fā)、客戶端應(yīng)用、邊緣計算和系統(tǒng)編程等多個領(lǐng)域。MoonBit 在新的后端性能上依舊保持顯著的提升和超越。
3. 工具鏈體驗極佳
完善的調(diào)試支持,支持開箱即用
去年,MoonBit 推出了調(diào)試器(Debugger)功能,這是相對于其他語言通常在成熟階段才擁有的功能。目前,該功能已支持源碼映射、基于源碼設(shè)置斷點、輸出 sourcemap等,在瀏覽器中進(jìn)行源碼調(diào)試。
2024年12月,調(diào)試功能新增內(nèi)置于 MoonBit 在線 IDE,實現(xiàn)開箱即用,開發(fā)者不再需要復(fù)雜的手動設(shè)置即可一鍵調(diào)試,顯著提升了開發(fā)和調(diào)試的流暢性。
?
test codelens
2024年4月,MoonBit IDE 支持本地環(huán)境的 test codelens, expect test 的自動更新。相較于此前需要用戶需要手動編寫命令行的版本,現(xiàn)在只需要點擊「Run Test | Update Test」的 button 即可完成毫秒級的編譯,幾乎無需等待響應(yīng),大幅提升了測試的效率。以下是該功能的具體效果展示:
2024年12月,在最新的 MoonBit IDE 中,Outline 功能已優(yōu)化為支持分層顯示 document symbol,開發(fā)者能夠迅速定位單個 symbol,這使得代碼結(jié)構(gòu)更清晰,開發(fā)者更容易理解和操作復(fù)雜項目。
2024年12月,MoonBit Language Tour 正式上線,涵蓋 MoonBit 主要語言特性,支持語法案例實時編譯,并實現(xiàn) IDE Trace 功能內(nèi)置,執(zhí)行過程中自動展示中間變量的值。無需服務(wù)器或容器,在瀏覽器內(nèi)即可完成編譯運行。
4.AI自動編程開發(fā)平臺:自底向上的協(xié)同設(shè)計
在 AI 時代,編程語言需要滿足三個關(guān)鍵需求:安全性、交互性和精確上下文摘要。MoonBit 通過靜態(tài)分析確保代碼安全性,加速開發(fā)流程;它還考慮到未來人、AI 大模型與編程語言的協(xié)同工作,優(yōu)化了三者之間的交互方式;同時, MoonBit 通過提供精準(zhǔn)的上下文信息,幫助大模型更好地理解和生成代碼,MoonBit IDE 內(nèi)置 AI 助手,為應(yīng)用的開發(fā)、測試和文檔編寫提供了全方位的支持,使得開發(fā)者能夠更加專注于業(yè)務(wù)邏輯的實現(xiàn),而不必?fù)?dān)心底層的復(fù)雜性和維護(hù)工作。
一個更加完善的AI編程場景出現(xiàn):
通過思考語言設(shè)計和工具鏈適配,IDE 和工具鏈能夠非常靈活地在當(dāng)前的倉庫檢查、運行并更新 AI 大模型生成的代碼塊。
IDE 內(nèi)置的測試功能除了為程序員提供一種方便測試的機(jī)制以外,能夠很好地在代碼上下文中作為相關(guān)代碼的示例,從而大大提高代碼生成及相關(guān)下游任務(wù)的正確性。
除了在 IDE 中向用戶提供常規(guī)的 AI 生成測試、撰寫文檔、修復(fù)錯誤等功能外,還能夠提供完全后臺運行的自動化智能體,通過讀取編譯器的各項反饋來完成各種相對復(fù)雜、長時間的下游任務(wù),例如提升測試覆蓋率、從自然語言提示生成完整代碼組件或者項目等。
5.用戶數(shù)量迅猛增長
MoonBit 和 Grain 近一年用戶數(shù)增長對比圖
MoonBit 的核心用戶在迅速增長,以 VScode 插件用戶數(shù)為統(tǒng)計指標(biāo),23年11月份MoonBit 編程語言下載量約為 500 左右,24年5月份達(dá)到 3000 — 4000 這個范圍區(qū)間。 最近用戶數(shù)目前已經(jīng)突破 3.6 萬(數(shù)據(jù)統(tǒng)計來源綜合Visual Studio Marketplace 和 Open VSX Registry),實現(xiàn)1200%的用戶增長。 值得注意的是幾乎絕大多數(shù)編程語言在其誕生前 5 年都處于默默無聞的狀態(tài),比如 Python 、Rust 等一眾現(xiàn)在熱度很高的編程語言都經(jīng)歷過這個時期。Rust 誕生于 2006 年,但直到三年后的2009年,Mozilla 團(tuán)隊才意識到它的價值,換句話說 Rust 才真正意義上有用戶使用,隨后又經(jīng)歷了 6 年的時間,到 2015年 Rust 才積累了2萬左右的用戶。
快速增長的用戶意味著 MoonBit 的生態(tài)潛力巨大,未來可期!
MoonBit 開源
MoonBit 積極擁抱開源,我們相信開源的力量會大幅度推進(jìn)技術(shù)發(fā)展與進(jìn)步,并造福開發(fā)者甚至整個社會。
1.核心標(biāo)準(zhǔn)庫
2024年3月8日,MoonBit 開源了核心標(biāo)準(zhǔn)庫,已有1700+個commits,貢獻(xiàn)者50+。社區(qū)的貢獻(xiàn)異常熱烈,短短幾個月就收獲數(shù)萬行社區(qū)貢獻(xiàn)代碼,標(biāo)準(zhǔn)庫范圍涵蓋廣泛,包括高質(zhì)量的數(shù)據(jù)結(jié)構(gòu)、哈希算法、數(shù)學(xué)庫、測試框架等等。
開源地址:https://github.com/moonbitlang/core
開源協(xié)議:Apache License 2.0
2.構(gòu)建系統(tǒng)
2024年7月23日,MoonBit 開源構(gòu)建系統(tǒng) moon ,為 MoonBit 項目提供編譯構(gòu)建,自動化測試工具(集成 expect test),覆蓋率測試、包管理器等功能,此外,moon 作為 MoonBit 語言編譯工具鏈的重要組件,與 IDE 緊密結(jié)合,為 IDE 分析代碼提供了詳盡的項目結(jié)構(gòu)和依賴等信息。
moon 用 Rust 開發(fā),得益于 Rust 語言的內(nèi)存安全、高性能和并發(fā)處理能力、跨平臺等特性,確保構(gòu)建過程的穩(wěn)定性和速度。moon 的并行與增量構(gòu)建功能得益于 n2 項目,(n2 與 ninja 都是由 Evan Martin 創(chuàng)建,n2 相比 ninja 更加輕量,并且在增量構(gòu)建方面更出色)。
開源地址:https://github.com/moonbitlang/moon
開源協(xié)議:AGPL-3.0
3. 編譯器
2024年12月18日,MoonBit 正式開源其核心的編譯器 WebAssembly(簡稱“Wasm”) 后端。開發(fā)者現(xiàn)在可以利用 MoonBit 的能力做性能優(yōu)化,且直接參與 MoonBit 的技術(shù)迭代和生態(tài)創(chuàng)新。
作為工具鏈中的核心板塊,Wasm 編譯器將編程語言的特性編譯成可以在 WebAssembly 環(huán)境中運行的實際代碼?;诖?,開發(fā)者可以利用其選擇的編程語言的特性,創(chuàng)建在不同平臺上運行的 Web 應(yīng)用。
同時,Wasm 后端也是 MoonBit 當(dāng)前最成熟的技術(shù)模塊,運行性能和代碼生成體積均優(yōu)于 Rust 和 Go。
GitHub代碼:https://github.com/moonbitlang/moonbit-compiler
Gitee代碼:https://gitee.com/moonbitlang/moonbit-compiler
開源協(xié)議:MoonBit Public License
4. 后續(xù)開源計劃
MoonBit 堅持以開放、開源為核心策略,并認(rèn)為,開發(fā)者需要的是透明和可靠的工具,而不是功能受限的“開源核心”(Open-Core)模式。因此,MoonBit 對于用戶,將始終保持免費開放,讓全球開發(fā)者無論何時,均能享受優(yōu)質(zhì)穩(wěn)定和可信賴的開發(fā)體驗。
收獲海內(nèi)外認(rèn)可
1.全球軟件領(lǐng)域頂尖專家與權(quán)威機(jī)構(gòu)背書
2024年9月,MoonBit 發(fā)起了全球首創(chuàng)的語言+游戲雙賽道編程挑戰(zhàn)賽,吸引了1888支隊伍報名。賽事走進(jìn)了全國30余所高校,并得到了包括北京大學(xué)、清華大學(xué)、中山大學(xué)和香港科技大學(xué)(廣州)等多所頂尖高校的合作與支持。
同時,賽事還得到了沈向洋院士、林惠民院士、倪明選院士以及中國科學(xué)院軟件研究所趙琛所長的高度肯定與寄語。賽后,中國科學(xué)院軟件研究所「甲辰計劃」對參賽選手的表現(xiàn)給予高度認(rèn)可,開通實習(xí)綠卡,并計劃于2025年提供不低于110個實習(xí)崗位,旨在培養(yǎng)編程領(lǐng)域人才進(jìn)一步探索 MoonBit 語言的潛力。
2. 社區(qū)生態(tài)活躍
社區(qū)生態(tài)在2024年蓬勃發(fā)展,我們成功舉辦了多場線上線下 Meetup 和直播活動,推出了豐富的社區(qū)課程,吸引了廣泛參與,推動了 MoonBit 語言的學(xué)習(xí)和應(yīng)用。
3. 海外獲得前所未有的關(guān)注
MoonBit 今年在海外引發(fā)了前所未有的關(guān)注,關(guān)鍵性進(jìn)展和知名技術(shù)大咖的評價包括:
全球最大代碼托管平臺 GitHub 官方正式收錄。
編譯器開源后在 Hackernews 再度登頂。這是繼去年首發(fā)登頂 HN 后第二次登上頭版頭條。
全球頂級開發(fā)者科技媒體《The New Stack》對 MoonBit 進(jìn)行了3次專題報道,并登上全站熱門文章榜首。
日本最大的開發(fā)者論壇之一 zenn.dev 上掀起了對語言熱議,吸引了海外平臺十萬級閱讀量。日本程序圈粉絲數(shù)最大的博主之一 mizchi 三次發(fā)表平臺技術(shù)相關(guān)博客,日本社區(qū)已不定期自發(fā)組織 Youtube 視頻和開發(fā)者見面會。
社區(qū)成員自發(fā)編寫的 MoonBit-Extism 插件,已被 Extism 納入官方 PDK庫,成為海外社區(qū)支持下的首個實用案例。
云服務(wù)廠商 Golem Cloud 使用 MoonBit 編寫應(yīng)用程序。
意大利科技媒體 Redhotcyber 評價 MoonBit:近年來,中國的科技領(lǐng)域創(chuàng)新不斷,但很少有像 MoonBit 一樣可以引起全球關(guān)注的,這種編程語言迅速登上了人們的興趣排行榜。MoonBit 徹底改變 WebAssembly。
海外首場 Meetup 在新加坡國立大學(xué)(NUS)及 CBD 圓滿舉行,社區(qū)聯(lián)合 Vue.js 和 Vite 的作者尤雨溪、耶魯大學(xué)及新加坡國立大學(xué)的計算機(jī)科學(xué)教授奧利維爾·丹維主講。MoonBit 開始邁向國際化,并計劃在2025年開展更多的線下活動。
未來計劃 & 總結(jié)
MoonBit 團(tuán)隊在2025年將繼續(xù)推動編程語言的創(chuàng)新,尤其在以下幾個重要領(lǐng)域取得新的突破:
1. 異步支持:
異步編程是現(xiàn)代編程語言不可或缺的重要功能。在 2025 年,我們將為 MoonBit 添加異步編程的支持,讓用戶能以同步的形式編寫異步代碼。在功能設(shè)計上,我們希望 MoonBit 的異步編程支持能夠在易于使用、具有較高可讀性的同時,對錯誤傳播、任務(wù)管理等問題給出更好的解決方案。在異步編程生態(tài)上,我們計劃提供一套后端、平臺無關(guān)的抽象層,在網(wǎng)頁前端、不同的 Wasm 運行時、不同的硬件及操作系統(tǒng)上都提供良好的異步編程體驗。
目前,MoonBit 已經(jīng)提供了實驗性的異步編程底層支持。在 2025 年,我們將持續(xù)改進(jìn)相關(guān)設(shè)計、完善異步相關(guān)的語言功能與生態(tài)建設(shè)。通過異步編程支持,我們希望在網(wǎng)頁前端開發(fā)、云服務(wù)開發(fā)、AI agent 開發(fā)、嵌入式開發(fā)等領(lǐng)域進(jìn)一步改善用戶的編程體驗,幫助開發(fā)者更加高效、安全地開發(fā)各種異步程序。
2. 軟硬件結(jié)合 MCU:
在過去的一年,我們探索了使用 MoonBit Wasm 后端進(jìn)行嵌入式開發(fā),并成功將 Wasm-4 游戲機(jī)項目移植到了 ESP32 環(huán)境中。并且能夠運行大多數(shù)MoonBit 全球編程創(chuàng)新挑戰(zhàn)賽游戲賽道用戶提交的游戲。后續(xù)我們會進(jìn)一步提高系統(tǒng)的兼容性與穩(wěn)定性。
我們也啟動了 MoonBit Arduino Binding 項目,探索使用 Moonbit native 后端在資源非常受限的嵌入式環(huán)境中進(jìn)行開發(fā),我們希望 MoonBit Arduino Binding 項目可以在教育領(lǐng)域發(fā)揮價值。
未來,我們計劃探索 MoonBit 異步與 FreeRTOS 的結(jié)合。我們希望能夠通過 async/await 機(jī)制以及 FreeRTOS 的實時調(diào)度能力,簡化多任務(wù)管理、優(yōu)化任務(wù)切換和事件響應(yīng)效率,幫助開發(fā)者更加高效地應(yīng)對多任務(wù)管理的挑戰(zhàn)。
3. 結(jié)束語
這一年的成就,不過是 MoonBit 技術(shù)長征路上的片刻閃光,每一位 MoonBit 社區(qū)成員都將繼續(xù)在技術(shù)的征途上奮勇前行,讓千行萬業(yè)因我們而煥發(fā)新生。感謝每一位社區(qū)伙伴的支持與信任鑄就了 MoonBit 成長的基石,見證了平臺快速成長!
新的一年,我們將秉持初心:致力于成為一門擁有千萬級別用戶數(shù)量的開發(fā)者平臺,深遠(yuǎn)的影響基礎(chǔ)軟件領(lǐng)域的格局與發(fā)展,助力基礎(chǔ)軟件的持續(xù)創(chuàng)新與前沿探索,為全球開發(fā)者生態(tài)注入源源不斷的動力與創(chuàng)造力。
關(guān)于 MoonBit MoonBit(https://www.moonbitlang.cn/)是國內(nèi)首個工業(yè)級編程語言及其配套工具鏈,由粵港澳大灣區(qū)數(shù)字經(jīng)濟(jì)研究院(簡稱“IDEA 研究院”)基礎(chǔ)軟件中心打造的 AI 原生的編程語言以及開發(fā)者平臺。通過創(chuàng)新框架在程序語言界形成后發(fā)優(yōu)勢,在編譯速度、運行速度、體積大小上已成功領(lǐng)先傳統(tǒng)語言。
-
AI
+關(guān)注
關(guān)注
87文章
31493瀏覽量
270062 -
編程語言
+關(guān)注
關(guān)注
10文章
1950瀏覽量
34923 -
編譯器
+關(guān)注
關(guān)注
1文章
1642瀏覽量
49248
原文標(biāo)題:開源編程語言MoonBit 2024年度技術(shù)盤點
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論