@
DOLLOR 从语义上说,let 没有一定是常量的意思,它的本意是"让",但是 constant 关键字定义其含义更准确,就是常量了。
我玩过 basic, Fortran, pascal, c, asm, FORTH, js, coffeescript, lisp, java, scala, go, rust 也玩,但不喜欢,我更喜欢 zig 一点。
@
w568w 错了,js 最早根本没有 let,只有 var ,这意义也很明确。let 是后来出现的,为了表示其的生命域与 var 不同而出现的。不过现在 js 已经被 ECMAScript 标准弄的一团糟,感觉是一群搞 java 的人在瞎弄。实际上,有一段时间,在 js 中使用 const 性能反而比 let 更低,不过我没关注,因为我以为区分 const 和变量是好事,另外选择 js 本身就是需要它的高度动态可扩展的特性,而非关注它的性能,尽管 v8 的优化很给力。
@
InkStone 这是你以为,变量就变量,常量就常量,而语言内部是否以 immutable 为主,那应该是语言特性,而不是开发者操心的,只不过如果开发者在 immutable 为主的语言中滥用变量,受到的惩罚会加重。
从未来 AI 层面来说,AI 的语料来自人类,因此哪一门语言的表达更贴近原始人类的语义,更类似自然语言的,将有更大的优势:也就是说你不需要去看专门的语法书,你只看代码就能读懂,AI 理解会更好。同时这门语言的对人来说学习门槛更低,或者说几乎不用学习。
而且 MoonBit 还丑在大量使用缩写: fn, pub 。如果这是一门汇编语言,那也就算了。