- 完善的模式匹配
- lazy表达式和类型,同时支持memoize,可以照搬ocaml的
- 异步,生成器函数/yield支持
- gadt
- trait目前还是太简单了,有没有计划更进一步的hkt?
用了一段时间了, 总体感觉如下
- 语言偏FP, 类型系统稍微有点混乱, 语法糖过多, 尤其是现阶段不太好,类型系统中没有Any(就连面向系统编程的Rust都有), 在相当多的场景下很难用
- 核心库对于一门语言太重要了, 关系到生态能否快速发展起来。现阶段的核心库缺失的东西太多了,我想写个东西, 需要用到基于流的文件读取, zip包, xml基于流的读写包,都缺失, 让人很沮丧, 暂时先放弃, 看看后续语言的发展
- 异步的缺失太重要了
- 元编程也很重要,Go虽然没有直接提供, 但是通过tag也能实现
- 反射虽然有性能损失, 但某些场景下, 确实是必要的
可以参考下现阶段流行的语言, Rust, Go,Kotlin, Swift这些语言的特性, 以及各自的优缺点, 希望能够基于工程角度出发, 以及语言流行度的调查,
我再弱弱的说一句, OCaml很好, 但是有多少家公司的主力开发语言是它呢
就连Go语言也新增了Any关键字,因为Interface{}对于新手或者其他语言转过来的很难理解
当然, 这些都是我个人的一点见解, 有不对的地方, 请多多谅解, 指正,谢谢~~~
有一个问题是 MoonBit 现在的核心用户到底是哪些人. 现在 MoonBit 有 wasm js 两个后端, 还在加一个 native 后端. 语言要兼顾估计也更难了. 不同的人群要的功能还不一样.
3 个赞
这也是我的疑问,官方说是专注于 pure ,也就是没有侧重任何一个端,感觉上是缺了个主攻方向。