写点什么

迅速登顶 HackerNews!这款深圳团队开发的编程语言月兔(Moonbit)将重塑 WebAssembly 的未来生态?

  • 2023-08-25
    北京
  • 本文字数:3044 字

    阅读完需:约 10 分钟

迅速登顶HackerNews!这款深圳团队开发的编程语言月兔(Moonbit)将重塑WebAssembly的未来生态?

知乎上有一个热门问题是:为什么中国出了这么多厉害的互联网公司,但没有自己设计过编程语言?评论区的用户对此众说纷纭,大部分答主的回答并不乐观,对中国编程语言的未来并不看好。


然而近日,事情有了微妙的变化。一个中国团队开发的编程语言在Hacker News亮相。Hacker News,简称 HN,是由《黑客与画家》作者 Paul Graham 与 Y Combinator 联合创办的新闻社区,尽管其界面相对朴素,但社区的用户和评论质量很高。想要在首页上获得一席之地,需要通过社区的用户投票和联合讨论来决定,客观和真实的评价也使得很多知名项目在早期阶段都通过 HN 传播,例如 Dropbox,Rust,Airbnb 等,HN 在推广早期项目和讨论高质量内容方面具有重要地位。


不到一天时间,这款深圳团队开发的,名为“月兔(Moonbit)”(以下简称:Moonbit)的编程语言登上了Hacker News的头版头条,在 IT 工业界引发了热议。



国际知名的 Scala 和函数式编程专家 John A De Goes 在试用 Moonbit 后表示:Moonbit 看起来非常适合在 @GolemCloud(WasmCon 2023 的金牌赞助商、领先的 WebAssembly Paas 平台)上构建应用,并表示有兴趣尝试一下。

著名前端框架工具 Vue.js 作者尤雨溪、WebAssembly 生态知名公司 Wasmedge 在试用后在 Twitter(X)上转发了公告。

全球各大技术爱好者纷纷在评论区留言和评价,部分开发者在试用后对其编译速度之快感到难以置信。Moonbit 通过自动内存管理使编程更加简便,从而与 Rust 区分开来。“我已经可以想象下一个‘100 秒’视频了” ,“以这个速度,可能只需要 500 毫秒(就可以完成编译)”。

用于 Chrome 浏览器、LLVM 以及 Android 等大型项目的构建系统Ninja的作者 Evan Martin 在公告发布后也在评论区表示对 Moonbit 的期待:

同时,已经有技术用户和语言爱好者结合自己的已有项目,探索与 Moonbit 结合开发的可能。

围绕着项目本身,目前大家普遍对于月兔(Moonbit)标准库、构建系统的发展表示期待。

在了解 Moonbit 后,来自知名公司 GreenLabs 的工程师 Woonki 尝试使用 Moonbit 重新编写著名的生命游戏,Moonbit 出色的编译速度让他深感惊叹,因此他在 Twitter 上发表感想,表示对这门语言的未来充满了激动和期待。

00:00 / 00:00
    1.0x
    • 3.0x
    • 2.5x
    • 2.0x
    • 1.5x
    • 1.25x
    • 1.0x
    • 0.75x
    • 0.5x
    网页全屏
    全屏
    00:00


    那么,备受瞩目的 Moonbit 到底是什么?它为什么能在这么短的时间内获得大家的关注?接下来让我们一起深入了解这门语言的背景与特点。

    月兔(Moonbit) 到底是什么?

    Moonbit:编译速度快、Wasm 体积小、用户友好度高的 Webassembly 语言


    Moonbit是一套专为云计算和边缘计算设计的端到端解决方案。它不仅包括了通用程序语言设计,还涵盖了编译器、构建系统、集成开发环境(IDE)、部署工具等各个方面。这使得 Moonbit 能够实现高度垂直整合,从而为用户提供更出色的开发体验和性能。

     

    Moonbit 是由 IDEA 研究院基础软件中心负责人张宏波及其经验丰富的团队打造而成,仅用不到 11 个月的时间完成语言设计、IDE、编译器和构建系统。IDEA 研究院对于底层创新的重视与支持,帮助团队吸引了多位在语言设计和开发领域拥有超过十年专业经验的成员。值得一提的是,张宏波不仅为多种编程语言做出了贡献,包括 OCaml、ReScript(原 ReasonML/BuckleScript)和 Flow,还是 Rescript 语言工具链几乎所有关键组件的作者,包括高速编译器、标准库以及构建系统等。

     

    那么,Moonbit 究竟有哪些功能值得开发者关注呢?主要包括以下三个方面:

     

    首先是编译速度快,Moonbit 注重全局速度,采用多级中间表示(IR)的整体程序优化方法,优化内存布局以减少缓存失效,并为数据和控制流分析提供卓越的上下文。同时,Moonbit 在构建性能方面也表现出色,通过工具链的垂直整合,IDE 性能得到了极大的提升,这对于开发人员的体验至关重要。根据测试,Moonbit 在冷启动环境无缓存模式下只需要不到 7s 就能检测到 4000 个 package。

    00:00 / 00:00
      1.0x
      • 3.0x
      • 2.5x
      • 2.0x
      • 1.5x
      • 1.25x
      • 1.0x
      • 0.75x
      • 0.5x
      网页全屏
      全屏
      00:00


      第二是 Wasm 输出体积小,Moonbit 通过有效消除死代码,省略了妨碍此分析的语言特性,显著减小了最终代码的大小。据 GitHub 上可用的基准测试结果,Moonbit 输出的 Wasm 体积最小,仅约 253 字节。


      第三是用户友好度高,Moonbit 通过自动内存来简化编程、避开了指针或左值等危险元素。此外,Moonbit 还提供了广泛的工具集,包括管理器、编译器、集成开发环境(IDE)以及一个无需容器支持、具备离线功能的云 IDE。其中,云 IDE 采用了与传统的云 IDE 不同的架构,可在浏览器离线开发,用户输入能快速反馈,不再依赖网络宽带。

      00:00 / 00:00
        1.0x
        • 3.0x
        • 2.5x
        • 2.0x
        • 1.5x
        • 1.25x
        • 1.0x
        • 0.75x
        • 0.5x
        网页全屏
        全屏
        00:00


        这里放上 Moonbit 的试用地址,大家感兴趣的话可以玩一下。

         

        试用地址:https://try.moonbitlang.cn

        月兔(Moonbit):重塑 WebAssembly 的未来生态

         

        在 Hackernews 底部的论坛区,针对 Moonbit 的亮相,有人问起张宏波:「这是否意味着你今后不再主导 Rescript 的工作,渐而把全部重心放在 Moonbit 的建设上?」

         

        张宏波表示:除了 Moonbit 在设计上学习 Go 语言和 Rust 语言优点的后来者优势外,从设计之初就考虑 IDE,编译器和构建系统上的垂直整合,利于日后整个程序语言的生态发展和稳定,也从侧面回应了 Moonbit 的设计初心——在 Wasm 生态缺乏优质供给端的今天,如果能量身为用户和消费端打造一门与标准高度适配的语言,这在整个程序语言界可以形成后发优势。

        作为计算机系统软件运行和网络环境的基础,基础软件扮演着至关重要的角色。尽管过去几十年中计算机性能取得了巨大突破,但令人遗憾的是,软件体验并没有同步提升,软件性能的潜力仍然未能充分挖掘。在这个背景下,2017 年推出的新一代标准指令集 WebAssembly 因其高效、轻量、安全等特性,引起了广泛的关注。

         

        然而,目前在 WebAssembly 平台上,主流的开发语言仍然是一些对程序员门槛相对较高的底层编程语言,如 C++和 Rust。同时,一些应用层的语言,如 Go 语言,虽然在 WebAssembly 上运行,但其生成的代码体积巨大,无法充分发挥 WebAssembly 平台的优势。因此,在 WebAssembly 生态系统中,尽管已经有数十种开源的消费端运行时,但高质量供给端的匮乏是当前面临的最大挑战。


        为了填补这一生态缺失,Moonbit 团队专注于WebAssembly(简称Wasm),更好地支持这一技术,争取在这个领域取得后发优势。正如张宏波在回答知乎热门问题中所强调的,“做自己的语言是个很需要有情怀的事情,困难很多,但是长远意义上是一个国家在基础软件问题上的话语权的问题”。

         

        在这一愿景的推动下,Moonbit 诞生了,为编程软件的未来开辟新的道路。 

        月兔(Moonbit)的未来之路

         

        在 Moonbit 的未来之路上,有许多令人兴奋的计划和发展方向。

         

        据了解,除了给用户提供现有的在线 IDE 和 VS Code 扩展插件,Moonbit 正在利用 LLM 大语言模型开发 Moonbit GPT,以辅助程序员代码准确性与提高开发效率,Moonbit 将在 2024 年 Q2 达到 Beta 状态,在稳定的同时,具备与 Wasm 宿主进行交互的外部函数接口(FFI)。在未来的战略计划中,团队会考虑将 Wasm 2.0 的 Wasm GC 集成到 Moonbit 并且开发 Wasm 1.0 GC。

         

        关于未来的长期计划,张宏波也在 Hackernews 的讨论区做出了回答,Moonbit将会是他退休前的最后一个项目,Moonbit 团队有一个非常强烈的决心与长期愿景,将继续推动月兔(Moonbit)的发展。

        参考链接:

        [1]https://www.zhihu.com/question/359906573/answer/1709942996

        [2]Hacker News: https://news.ycombinator.com/item?id=37174619

        [3] Ninja:https://en.wikipedia.org/wiki/Ninja_(build_system)

        [4]月兔(Moonbit)平台背景 &应用场景介绍:https://mp.weixin.qq.com/s/HcpB0YiU64J2duPikrr-cw

        [5]月兔(Moonbit): the fast, compact & user friendly language for WebAssembly:https://zh.moonbitlang.com/blog/first-announce/

        [6]编程语言月兔(Moonbit)开放内测:https://mp.weixin.qq.com/s/6m7xd5pUR20bGmTCtcQEFw

         

        2023-08-25 09:4510914
        用户头像
        赵钰莹 极客邦科技 总编辑

        发布了 934 篇内容, 共 718.3 次阅读, 收获喜欢 2716 次。

        关注

        评论 2 条评论

        发布
        用户头像
        看了一下 github 仓库,伪装的,这是个大计划啊。
        2024-03-13 17:26 · 广东
        回复
        用户头像
        能举几个例子吗?什么场景可以用到

        Moonbit是一套专为云计算和边缘计算设计的端到端解决方案。

        2023-09-03 13:15 · 天津
        回复
        没有更多了
        发现更多内容

        破局AI落地困境,《企业AI应用落地白皮书》正式发布

        用友BIP

        AI

        区块链Web3项目的开发

        北京木奇移动技术有限公司

        区块链开发 软件外包公司 web3开发

        云服务器自带的防御可靠吗?

        网络安全服务

        防火墙 云服务器 安全组 高防IP DDoS 攻击

        等保测评:差距测评

        等保测评

        亚马逊宣布投资100亿美元在北卡罗来纳州建设数据中心以支持AI扩展

        PowerVerse

        人工智能 AI 数据 去中心化云算力

        AI技术在图书管理系统的应用

        北京木奇移动技术有限公司

        软件外包公司 AI技术应用 图书馆信息化

        Steinberg HALion for mac 虚拟采样与声音合成

        晨光熹微

        假如给你1亿的Redis key,如何高效统计?

        不在线第一只蜗牛

        数据库 redis

        Swinsian 3.0 Preview 23 音乐播放器

        晨光熹微

        基于YOLOv8的交通标识及设施识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

        申公豹

        yolov8

        用友BIP开启「人+智能体+群」业务协同新模式

        用友BIP

        AI

        商品中心—B端建品和C端缓存的技术文档

        电子尖叫食人鱼

        架构

        鸿蒙Next实现瀑布流布局

        飞龙AI

        HarmonyOS HarmonyOS NEXT 鸿蒙影音娱乐类应用 拍摄美化

        Java程序员100道面试题(含答案)

        Geek_Yin

        Java 程序员 java面试 Java面试题

        Steinberg Dorico Pro for mac 6.0.10 乐谱编写制作

        晨光熹微

        Java面试题100道及答案

        Geek_Yin

        Java 程序员 java面试 Java面试题

        鸿蒙Next仓颉语言开发实战教程:下拉刷新和上拉加载更多

        幽蓝计划

        AI+制造:用友BIP智能裁切,突破造纸行业效率革命

        用友BIP

        AI

        单据流那些事儿之手工生单串讲

        inBuilder低代码平台

        等保备案证明更新

        等保测评

        懒懒笔记 | 课代表带你梳理【RAG课程 11&12:优化和加速你的RAG】

        商汤万象开发者

        LLM

        当人力工作遭遇经验主义桎梏:智能体如何重塑HR战略价值?

        用友BIP

        Steinberg SpectraLayers Pro for mac 音频光谱编辑与修复

        晨光熹微

        如何通过DNS解析实现负载均衡?有哪些优势?

        防火墙后吃泡面

        算力不再是瓶颈?看DeepSeek如何颠覆AI发展逻辑

        GPU算力

        强化学习 算力 AI算法 深度学习、 DeepSeek

        Techub News Web3小科普:什么是稳定币

        TechubNews

        Steinberg Cubase Pro for mac14.0.30 多功能音乐制作

        晨光熹微

        指标体系建设的本质与落地逻辑——从战略到执行的闭环管理

        Aloudata

        数据分析 指标体系 指标管理 指标平台 指标开发

        2025年Java常见面试题

        Geek_Yin

        Java 程序员 java面试 Java面试题

        Steinberg Nuendo Pro for mac14.0.30 音频后期制作

        晨光熹微

        Python 循环引用内存泄漏:原因分析与解决方法

        异常君

        Py 内存管理 循环引用 实战案例 原理解析

        迅速登顶HackerNews!这款深圳团队开发的编程语言月兔(Moonbit)将重塑WebAssembly的未来生态?_编程语言_静纯_InfoQ精选文章