首页 > 其他分享 >从突破到领先:MoonBit 2024年度技术盘点

从突破到领先:MoonBit 2024年度技术盘点

时间:2025-01-16 16:31:42浏览次数:3  
标签:编程语言 2024 MoonBit 开源 盘点 Wasm 开发者

日月其迈,时盛岁新!

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 成长的基石,见证了平台快速成长!

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

标签:编程语言,2024,MoonBit,开源,盘点,Wasm,开发者
From: https://blog.csdn.net/m0_74743788/article/details/145186206

相关文章

  • 2024央国企十佳上云典型案例,拿下!
     12月20日,由中国信息通信研究院举办的央国企上云高质量发展沙龙暨一云多算、大模型混合云成果发布会在北京成功召开。会上公布了央国企典型案例评选结果,天翼云科技有限公司央企行业中心与中国信息通信科技集团有限公司(简称“中国信科”)联合申报的《中国信科国云安全邮箱应用》项......
  • 2024 京东零售技术年度总结
    作者:京东零售零售技术每一次回望,都为了更好地前行。2024年,京东零售技术在全面助力业务发展的同时,在大模型应用、智能供应链、端技术、XR体验等多个方向深入探索。京东APP完成阶段性重要改版,打造“又好又便宜”的优质体验;国补专区快速上线、助力“以旧换新”;大模型应用在大量零......
  • 2024年最新计算机毕业设计选题题目参考,2000+ Java毕业设计题目,值得收藏,另有python,小程
     风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。最近有很多同学咨询,说快要毕业设计了,不知道选什么题目比较好,有哪些方面是需要注意的。基于这一点,这里整理了一些java毕业设计的题目,大家可以参考一下,希望能对大家有所帮助。一、整体设计方向Java目前仍然是最......
  • 关于2024秋季学期期末笔记系列
    碎碎念该系列笔记既不够详细,也不够精简,仅作为我期末挣扎的一个存档,不建议各位花时间阅读传送门排序按期末考试先后顺序人工智能导论复变函数光学概率论与数理统计理论力学......
  • 2024.1.15 鲜花
    挖掘机技术哪家强题解BadApple!!流れてく時の中ででも気だるさがほらグルグル廻って私から離れる心も見えないわそう知らない?自分から動くこともなく時の隙間に流され続けて知らないわ周りのことなど私は私それだけ夢見てる?何も見てない?語るも無駄な自分......
  • 2024.1.15闲话
    可能是不知道什么学习笔记捏阶使得\(a^x\equiv1\pmodm\)的最小正整数\(x\)被称为\(a\)模\(m\)的阶,记作\(\delta_m(a)\)。由欧拉定理可知,\(a\perpm\)是\(\delta_m(a)\)存在的充要条件。证明充分性:若\(a\perpm\),根据欧拉定理,\(x=\varphi(m)\)就是一个解,所以......
  • 2024中国网络安全产业势能榜优能企业「运营商行业」典型案例展示
    运营商作为通信和网络服务的提供者,其安全性直接影响到全球范围内的信息流通与互联网基础设施的稳定。随着5G、云计算等新兴技术的普及,运营商面临着更高的安全压力。本期将展示运营商在加强网络防护、提升数据安全等方面的创新实践,以保障全球信息传输的安全性。PS:典型案例展示排名......
  • VP Daiwa Securities Co. Ltd. Programming Contest 2024(AtCoder Beginner Contest 38
    A-Humidifier1题意:一个漏水的桶,在零时刻有零升水,进行\(n\)次加水,在\(t_i\)时刻加\(v_i\)升水,每一时刻会漏一生水,问第n次加水后有多少升水。直接模拟即可,每次加水先减去漏掉的水,注意至少有0升,然后加上新加的水。点击查看代码voidsolve(){intn;std::cin>>n;......
  • 2024,语音 AI 元年;2025,Voice Agent 即将爆发丨年度报告发布
      围绕VoiceAgent产品的研发、商业化和增长的完整生命周期,报告构建出一份VoiceAgent产业生态全景图。 2024年,AI与实时互动技术的结合达到了前所未有的高度。 5月,OpenAI发布了GPT-4o,并展示了其对话功能,仿佛电影《HER》中的智能助手走入了现实生活。 ......
  • 【2024遥感应用组一等奖】基于ENVI Deep Learning的多源SAR影像海带水淹区域提取与分
    作品介绍01应用背景近年来,随着全球气候变化的加剧,海岸带地区面临的洪水威胁日益严重。这些极端天气事件,特别是由热带气旋引发的洪水,不仅给沿海地区带来了巨大的经济损失,还对当地居民的安全和生活产生了深远影响。因此,能够准确识别海岸地区的水淹区域对于防灾减灾、制定应对策......