上一篇:前阿里员工坦言:32岁,我的职业生涯要结束了
来源:OSC开源社区(ID:oschina2013)
由中国开发者团队创建的编程语言 MoonBit(月兔)最近登上了 Hacker News 头条。
根据介绍,MoonBit (月兔)专为云计算、边缘计算设计,是一个用于云计算和边缘计算的 WebAssembly 端到端编程语言工具链,集开发、编译、测试、部署于一体 —— 涵盖了通用程序语言设计、编译器、构建系统、IDE、部署工具等。在语言设计、编译器和构建系统上实现高度的垂直整合,为用户提供更佳的开发体验和性能,致力打造未来世界级的基础软件生态。
主要优势
生成与现有解决方案相比显著更小的 WASM 文件
更高的运行时性能
先进的编译时性能
简单但实用的数据导向语言设计
相比于主流语言,Moonbit 具备后发优势,如基于 Webassembly 设计同时支持多后端,生成代码的性能高、体积小。Moonbit 还具备高效的增量式代码解析和类型检查;多范式编程,函数式内核 + OOP 风格;多层次的中间代码优化;低延迟的智能化 IDE 等特性。未来,Moonbit 计划新增 Trait system,高效稳健的内存管理和垃圾回收机制等机制,完善标准库 + 生态,提供更好的 FFI 调用机制,结合 AIGC 技术等。
MoonBit(月兔)由粤港澳大湾区数字经济研究院(IDEA 研究院)基础软件中心负责人张宏波领导的团队开发,目标是打造下一代智能开发平台。
张宏波本人不仅为多种编程语言做出了贡献,包括 OCaml、ReScript(原 ReasonML/BuckleScript)和 Flow,还曾是 Rescript 语言工具链几乎所有关键组件的作者,包括高速编译器、标准库以及构建系统等。
MoonBit 目前处于 Pre-alpha 阶段,属于实验性质。大家可以在 https://try.moonbitlang.com 获取 IDE 环境,无需安装任何软件,也不依赖任何服务器。
文档:https://github.com/moonbitlang/moonbit-docs
MoonBit 负责人张宏波称,MoonBit 编译器预计在 2024 年第二季度末达到 Beta 状态,到时将会正式公开。
示例代码
用三种编程语言(MoonBit、Go 和 Rust)实现的 fib
函数:
// Moonbit
func fib(num : Int) -> Int {
fn aux(n, acc1, acc2) {
match n {
0 => acc1
1 => acc2
_ => aux(n - 1, acc2, acc1 + acc2)
}
}
aux(num, 0, 1)
}
// Go
func fib(n int) int {
var aux func(n, acc1, acc2 int) int
aux = func(n, acc1, acc2 int) int {
switch n {
case 0:
return acc1
case 1:
return acc2
default:
return aux(n-1, acc2, acc1 + acc2)
}
}
return aux(n, 0, 1)
}
// Rust
fn fib(n: i32) -> i32 {
fn aux(n: i32, acc1: i32, acc2: i32) -> i32 {
match n {
0 => acc1,
1 => acc2,
_ => aux(n - 1, acc2, acc1 + acc2),
}
}
aux(n, 0, 1)
}
基准测试结果:
https://moonbitlang.github.io/moonbit-docs/benchmark/fibonacci/
相关链接:https://zh.moonbitlang.com/
---END---
全文完,既然看到这里了,如果觉得不错,随手点个赞和“在看”吧。
PS:欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,欢迎转发分享给更多人。
全文完,感谢你的耐心阅读。如果你还想看到我的文章,请一定给本文“在看”、“点赞”,新文章推送才会第一时间出现在你的微信里。
- END -
热门推荐:
那些在一个公司死磕了5-10年的人,最后都怎么样了?
36岁被小米裁员,北邮硕士毕业,待过字节,阿里,现在只能去外包。。。
航天院入两万,是一种什么体验!
阿里将推行季度考核,员工转岗需先离职再入职
应聘者是以前上司,能力一般,职场老白兔,本不想给他通过,但他卑微哀求,怎么办?
PS:如果觉得我的分享不错,欢迎大家随手点赞、转发、在看