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