对月兔的功能期待

很高兴看到月兔语言,这是我使用过的诸多语言中,语法让我最喜欢的,尤其还是国人开发的。看了预览版的文档和示例代码,虽然月兔是以wasm为目标的,但还是有些期待以下功能,个人建议,仅供参考:

1、期望能推出可以运行在服务端的代码,无论是像Rust直接编译、还是像Dart语言一样有VM,都可以,当然,能直接编译更好;因为未来希望能用同一种语言覆盖前端和后端;
2、服务端的支持,还是习惯 用 main 函数作为入口,因此能否采用main函数作为服务端的入口?。(对于WASM来说,init我是极为喜欢的,早期我自己写js时,都会写个init函数)
3、for循环的支持;
4、数组 slice 的支持,像go 语言一样。
5、月兔对内存的管理,未来是会采用GC的模式,亦或类似 Rust 生命周期管理的方式?
6、async/await 异步事件处理的官方支持;
7、并发的支持,目前go语言对并发的支持(我用过的语言中)是最好最轻量的;
8、stream 流的支持,可参考Dart语言的Stream类;
9、未来如果能加入对AI计算的支持,那就更好了;
10、语法不要学Python(现在看起来并没有)、做一门静态语言;

对于月兔有太多期待了,但建议这门语言走简洁的路线,像go语言一样。同时建议月兔要有清晰的定位,像go(云计算时代的C语言)、Rust(底层、安全、高效)、Dart(移动端)、Mojo(AI计算)等新生代语言都有自己清晰的定位。
作为一名编程语言爱好者,在较新的语言中,用的较多的是Rust、Dart(不太喜欢go的语法),但平时有时候写一些小的算法程序,Rust写起来确实麻烦或略显啰嗦;Dart语言有天生的定位限制(一切都是对象),语法过于老套(但Dart3.0以后改动很大),因此一直在期待一门能融合Rust/Dart/Go等多门语言优势、语法特征的新的语言,直到看到月兔!简直太棒了!
很期待你们的新的发布!

以上说的不当之处,敬请海涵。

2 个赞

我知道的:

  1. 目前主后端是 WASM,所以 WASM 的部署方便、沙箱这些优点 Moonbit 都会直接继承
  2. 会有的,敬请期待
  3. 会是 GC,短期会考虑 WASM 的 GC 提案,后面可能会有自己的 GC
  4. 有在研究,虽然短期内可能不会有
  5. 应该不会学 Python
2 个赞

说一下我的理解:

(1) wasm 的一大优点就是可以到处运行, 有非常多的环境和硬件设备支持运行 wasm. 当然也包括服务器和客户端. 能运行 wasm 的环境有很多, 比如浏览器, deno, node.js, wasmer, wasmtime 等.

(5) 目前 wasm 自己的 GC 还在草案阶段, 所以目前编译到 wasm 的语言必须自己实现 GC. 自带 GC 的主要缺点是生成的 wasm 二进制文件体积较大. 等到 wasm 自己支持 GC, 就可以使用运行环境的 GC 了, 而不用自带 GC.

我觉得, 月兔的主要优点有:

  • 编译到 wasm
  • 生成的 wasm 二进制文件很小
  • 运行速度快

目前编译到 wasm 的编程语言虽然很多, 但主要还是 C/C++ 和 rust, 别的语言都不太好用. 所以月兔的优势还是很明显的.

2 个赞