专栏名称: 码农翻身
工作15年的前IBM架构师分享好玩有趣的编程知识和职场的经验教训, 不容错过。
目录
相关文章推荐
51好读  ›  专栏  ›  码农翻身

被质疑套壳的编程语言也能进入北大,成为计算机学院研究生课程?

码农翻身  · 公众号  · 程序员  · 2025-03-06 08:55

正文

请到「今天看啥」查看全文


0 1
引言



在科技领域,每一次重大突破的背后,往往都有一群默默耕耘的探索者。近期国产技术的崛起让我们看到了中国在人工智能领域的潜力,也提醒我们:在基础软件的广袤领域中,还有很多未广为了解的核心技术在飞速发展!


知乎上有很多关于国产&编程语言的讨论:

- 国产编程语言这杆大旗有谁能扛起来吗?

- 中国人就只能套壳,仔细一扒开都是国外的技术?

- 为什么没有中国人发明一个独立靠谱的编程语言呢?


但其实国内已经诞生了基础软件领域—— 编程语言中的一颗新星,它就是MoonBit


有不少试用过的程序员给出了评价。或许大家已经被之前各种套壳的新闻搞得有些 PTSD,但事实上中国的科技实力已经远超想象。



作为一门新兴的编程语言,MoonBit 语法简洁、类型系统强大、跨平台支持、在 WASM 领域具有先天优势、原生AI支持,它似乎正在悄悄改变编程语言格局。


MoonBit 社媒平台显示已正式被企业应用,包括数据库公司、海外的云厂商、高校和竞赛组织等应用。最近也正式进驻到北京大学计算机学院的研究生课程《编程语言的设计原理》中,作为一门新的编程语言,短短两年间就进入最高学府的课堂中,也算是一个「壮举」。


用 Deepseek 生成了编程语言对比


个人判断应该 MoonBit  在探索编译器设计、类型系统和运行时优化等核心问题上优势更强。而且MoonBit 语法简洁、学习曲线平缓,且提供在线 IDE 和编译器 Explorer,对于教学与实验场景来说是很合适的。


值得注意的是,MoonBit 不止在国内被称为「国产编程语言之光」,在海外也得到了众多老外的认可:

最近我注意到国际上 WASM 技术最权威的大会上也见到了 MoonBit 的身影。


总的来说 MoonBit 的出现,让我意识到,中国在基础软件领域同样拥有巨大的创新潜力。


呼吁大家关注和支持基础软件的创新。未来的技术突破,很可能就隐藏在这些尚未被广泛发现的“宝藏”之中。



0 2
MoonBit 发展观察



MoonBit 是由来自深圳  Rescript 作者张宏波团队打造的开源编程语言,目前大概发展了两年时间, 专注于 WebAssembly(Wasm)和 AI 技术,发展非常迅猛。


1、2024 年MoonBit 的发展历程



4 月:新增 JavaScript 后端,超越原生性能8倍以上


8 月:发布 beta 版,支持零开销泛型和精准错误处理。核心语言特性超越大部分主流语言的1.0版本,语言特性开发稳定。社区成员自发编写的MoonBit-Extism插件,已被Extism纳入官方PDK库,成为海外社区支持下的首个实用案例


10 月:新增 Native 后端,拓展应用场景。值计算领域相比 Java 快一个数量级,内存管理性能优于 Java & Swift。


12月:Github 正式收录MoonBit


12月:WASM 核心编译器开源


25年初:核心用户近  4 万


2、MoonBit 的优势

MoonBit  作为一个新的编程语言,选择从 WASM 切入,扩大用户生态,但我理解它的最终版图很大,最终应该是希望进展原生后端等多层面的工作。


MoonBit 语言融合了 Python、JavaScript 等多个语言优势,通过紧凑语法与语义革新降低代码复杂度,其核心设计亮点如果总结的话大概分为四大领域:


(1)云边端性能标杆


编译为 WebAssembly(体积仅 Rust 1/4,运行速度超 Go 35 倍),原生沙箱安全与内存隔离技术赋能云原生高并发场景(如 27KB 超轻量 HTTP 服务)


(2)嵌入式硬件突破


支持 RISC-V 指令集直接调用硬件层(如传感器),无虚拟机原生机器码性能碾压 Java/Swift(FFT 算法提速 15 倍),内存占用优化适配 IoT 设备


(3) 数据流处理革命


内置 JSON 解析加速(25 倍于 JS)与响应式编程范式,结合静态类型系统实现实时数据流可靠处理(股票行情/游戏场景毫秒级响应)



(4)全栈开发新基建


支持 Wasm/JS 双后端编译(JSON 处理快 JS 8 倍),兼容 C 语言生态调用 AI 推理库,已应用于高性能图数据库与系统级工具链开发


除此之外,和一般的IDE调用大模型生成代码不同,在 MoonBit 设计之初,张宏波就考虑到了与大模型的深度融合和互动。


我看了MoonBit 官方写的论文:

https://Ilm4code.github.io/2024/assets/pdf/papers/7.pdf,感觉 MoonBit 有了 AI大模型的加持简直如虎添翼,也理解了他们所谓的 AI 原生:「 MoonBit 是真正意义上诞生在大模型时代,从最开始的语言设计上就思考如何更好的和大模型交互的编程语言。


MoonBit 也有 VSCode的插件,支持了国产大模型 DeepSeek,整个体验很不错: https://marketplace.visualstudio.com/items?itemName=moonbit.moonbit-lang



0 3
值得说的最新的进展 —LLVM后端



MoonBit可以编译成WASM,JavaScript,然后在各自的虚拟机执行。MoonBit也可以编译成C语言,最后生成二进制机器码,直接在硬件上执行,这不仅意味着性能的显著提升,也使得MoonBit成为适合嵌入式和IoT开发的理想选择。


但是,虽然C语言很成熟,但它是一个分散的生态系统,不同的 C 编译器对语言标准有着各自的解释,并开发了独特的语言扩展。这导致了大量未定义或依赖具体实现的行为,这些都可能成为潜在的技术陷阱。整数溢出、位域操作、枚举的底层类型等都是典型例子。因此,在将MoonBit程序转译为 C 代码时,要在不同平台间保持一致的语义变得极具挑战性。


相比之下,LLVM 提供了一个截然不同的解决方案,它有一个 中间表示(IR) ,各种编程语言可以先编译成IR,然后LLVM再把IR转换为目标机器代码(如 x86、ARM 等)。

只要把MoonBit编译成LLVM IR,就可以绕开C语言及其编译器,不但可以生成原生的机器代码,还可以充分享用LLVM编译基础设施带来的好处。



1、底层代码优化


LLVM 提供了通用的优化框架(如循环优化、内联等),开发者无需重复实现。


2、调试信息支持


LLVM提供的调试信息支持让我们能够精确地将代码映射到源文件,通过 gdb 或 lldb 提供更优质的调试体验。

调试信息生成以及跨平台代码生成等繁重工作。


3、跨平台支持


只需为不同硬件实现对应的 LLVM 后端,即可让同一语言支持多种架构(如 x86、ARM、GPU)。



0 4
总结


在云计算、边缘计算、AI等新兴行业快速发展的今天,市场也期待一个全新的编程语言,MoonBit在运行速度、编译速度、代码体积等核心指标上很有优势,很适合这些快速发展的领域。


所以我认为 MoonBit 在未来2-3 年内有机会吸纳几十万程序员,形成一个繁荣的生态系统,之后会在几个优势领域中进行扎根,成为强势的工具。如符号计算(LLVM 替代)、硬件开发、云原生服务等。


这样快速迭代发展下去,国产的MoonBit 很有可能成为广泛流行的编程语言。







请到「今天看啥」查看全文