开源编程语言MoonBit 2024年度技术盘点

少年山神的悠闲生活 2025-01-16 阅读:6383 评论:0

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 2024年度技术盘点

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 功能内置,执行过程中自动展示中间变量的值。无需服务器或容器,在浏览器内即可完成编译运行。

开源编程语言MoonBit 2024年度技术盘点

4.AI自动编程开发平台:自底向上的协同设计

在 AI 时代,编程语言需要满足三个关键需求:安全性交互性精确上下文摘要。MoonBit 通过静态分析确保代码安全性,加速开发流程;它还考虑到未来人、AI 大模型与编程语言的协同工作,优化了三者之间的交互方式;同时, MoonBit 通过提供精准的上下文信息,帮助大模型更好地理解和生成代码,MoonBit IDE 内置 AI 助手,为应用的开发、测试和文档编写提供了全方位的支持,使得开发者能够更加专注于业务逻辑的实现,而不必担心底层的复杂性和维护工作。

一个更加完善的AI编程场景出现:

通过思考语言设计和工具链适配,IDE 和工具链能够非常灵活地在当前的仓库检查、运行并更新 AI 大模型生成的代码块。

IDE 内置的测试功能除了为程序员提供一种方便测试的机制以外,能够很好地在代码上下文中作为相关代码的示例,从而大大提高代码生成及相关下游任务的正确性。

除了在 IDE 中向用户提供常规的 AI 生成测试、撰写文档、修复错误等功能外,还能够提供完全后台运行的自动化智能体,通过读取编译器的各项反馈来完成各种相对复杂、长时间的下游任务,例如提升测试覆盖率、从自然语言提示生成完整代码组件或者项目等。

5.用户数量迅猛增长

开源编程语言MoonBit 2024年度技术盘点

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 2024年度技术盘点

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 2024年度技术盘点

未来计划 & 总结

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 的实时调度能力,简化多任务管理、优化任务切换和事件响应效率,帮助开发者更加高效地应对多任务管理的挑战。

开源编程语言MoonBit 2024年度技术盘点

3. 结束语

这一年的成就,不过是 MoonBit 技术长征路上的片刻闪光,每一位 MoonBit 社区成员都将继续在技术的征途上奋勇前行,让千行万业因我们而焕发新生。感谢每一位社区伙伴的支持与信任铸就了 MoonBit 成长的基石,见证了平台快速成长!

新的一年,我们将秉持初心:致力于成为一门拥有千万级别用户数量的开发者平台,深远的影响基础软件领域的格局与发展,助力基础软件的持续创新与前沿探索,为全球开发者生态注入源源不断的动力与创造力。

关于 MoonBit MoonBit(https://www.moonbitlang.cn/)是国内首个工业级编程语言及其配套工具链,由粤港澳大湾区数字经济研究院(简称“IDEA 研究院”)基础软件中心打造的 AI 原生的编程语言以及开发者平台。通过创新框架在程序语言界形成后发优势,在编译速度、运行速度、体积大小上已成功领先传统语言。

热门文章
  • 防风防寒!北京今天晴朗伴大风寒意十足 周末将迎小幅升温

    防风防寒!北京今天晴朗伴大风寒意十足 周末将迎小幅升温
      中国天气网讯 今天(12月27日),北京天气晴间多云,最高气温2℃,白天北风劲吹,阵风可达六至七级,风寒效应明显。本周末,北京仍以晴为主,风力不大,气温将有小幅上升。   昨天,北京晴冷在线,气温继续下跌,南郊观象台最高气温仅有2.6℃,加上风力较大,体感十分寒冷。   北京市气象台预计,今天白天晴间多云,北风三四级(阵风六七级),最高气温2℃;夜间晴间多云,北风二三级间四级,最低气温零下7℃。   明后两天,北京仍以晴为主,风力不大,最高气温将略升至5℃,最低气温...
  • 在中超联赛赛场北京成都球迷高呼:北京加油,成都雄起

    在中超联赛赛场北京成都球迷高呼:北京加油,成都雄起
      9月14日晚,中超联赛成都蓉城对北京国安的比赛在成都凤凰山体育场举行。首都文明办工作人员到现场力促两地球迷的友好互动,引导球迷文明观赛。   开赛前,两地球迷早早来到赛场,成都球迷在赛场通道为等待入场的北京球迷拉歌拍照。一边是北京球迷激昂的歌声,一边是身穿“雄起”“成都”等字样球衣的成都球迷,画面和谐温馨。首都文明办给两地球迷代表赠送了“向北京榜样学习”宣传品,呼吁两地球迷在场上是对手,在场下是朋友。合影留念时,成都球迷高喊“北京加油”,北京球迷高喊“成都雄起”。...
  • 新手如何开始跑步?

    新手如何开始跑步?
    大家好,我是小贝~ 有喜欢我的分享的可以给我点个关哟~多多互动吧~🫰 跑步是最简单的运动之一。人类进化30万年,跑步是基因自带的能力。可以说天生人人都会跑,人人都可以跑。 所以,很多平时不跑步的人,想入门跑步,建议从以下4个方面开始 一、跑步一定要穿跑鞋! 10年前我跑步穿平时的休闲鞋跑了2周,跟腱受伤!因为休闲鞋没有缓震效果;对膝盖和跟腱的损害较大。 专业跑鞋鞋底有缓震设计,能减少跑步时对膝盖和脚踝的冲击力。保护膝盖和脚踝不容易受伤。 二、注意跑步频率和强度。 1、频率...
  • 西南地区持续阴雨天气 华北黄淮等地大气扩散条件逐步转差

    西南地区持续阴雨天气 华北黄淮等地大气扩散条件逐步转差
      摘要:   国内方面,昨日,全国降水整体较弱;内蒙古、东北地区等地出现大风降温天气。未来三天,青藏高原及云南、四川、贵州等地多阴雨天气,关注局地强降雨或持续降雨可能引发的次生灾害。   全球方面,昨日,欧洲东部美国东南部等地出现强降雨。未来三天,飓风“米尔顿”继续影响美国东南部等地;强冷空气影响中亚等地;欧洲大部大范围降水降温。   一、国内天气情况   1.实况   全国降水整体较弱 内蒙古东北地区等地出现大风降温天气   昨日8时至今日6时,全国降水整体较...
  • 大雾黄色预警:京津冀等8省市部分地区有大雾 局地强浓雾

    大雾黄色预警:京津冀等8省市部分地区有大雾 局地强浓雾
      据报道10月14日电据中央气象台网站消息,预计10月14日早晨至上午,河北中南部、北京、天津西部、山东西部、山西中东部、陕西北部、河南东北部和南部部分地区、湖北中部等地有大雾天气,其中,河北中南部、北京西部、山西中部、陕西北部、湖北中部等地的部分地区有能见度低于500米的浓雾,局地有不足200米的强浓雾。中央气象台14日6时继续发布大雾黄色预警。   此外,14日,华北中南部、黄淮中西部、汾渭平原等地大气扩散条件较差,有轻至中度霾,其中,北京南部、河北西部沿山部分地区有...
标签列表