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

2024年度盤點(diǎn):步履不停,載譽(yù)前行

評(píng)論