华为仓颉的beta版已经公开可下载

在kotlin里可以配合kt的其他语法搓dsl,仓颉里除了可读性就没其他的了

在 宏 里面用到了。

函数形参标记也借鉴了 swift 。当然,ocaml 里面早就有了。

函数调用表达式lambda 并列, 不算新的语法构造吗?

显然不像引入新的关键字和操作符那样,没有和其他已有语法结构产生歧义的风险

只是把 lambda expr 放到了函数调用的括号外面。

使用仓颉语言快两周了,写了约 2500 行代码,一个简单的”编译器“。谈谈使用体会:

背景:我的主业不是程序员,写代码主要是兴趣。

喜欢的:

  1. class 是引用,而 struct 传递值。不错。
  2. enum及match 和 OCaml/Rust 的几乎一样。很顺手。
  3. 包管理、测试、代码格式化等部件都有。好用。还有调试器,但目前我没用过。
  4. 代码提醒很友好,还附带建议。好。
  5. 面向对象、函数式编程风格都支持,而且做得很用心。
  6. 标准库齐全、好用。目前主要用了 io/fs/os.process 部分 API,以及 ArrayList 和 HashMap。
  7. 可以省略 ‘this’。少打了一些字,也美观一点。
  8. 测试好用。是 Go 风格的,测试直接写在源文件旁边,简单直接。当然写到单独的 test 文件夹也行。
  9. 其他小地方:命名参数、参数默认值等,好用。

缺点:

  1. 编译慢。增量编译已开。
  2. 编译得到的可执行文件大。
  3. 开发指南有点弱。比如,哪些值可变,哪些不可变,其实可以专门将讲。可以借鉴 Rust Book。
  4. 好像属于自己的东西并不多。也许我没有能力发现吧。不过,一切用起来还是很顺手、舒心。

其他:

  1. 看了关于宏的宣传,官方野望很大,但目前我还没用上。
  2. 并发,还没用,简单看了介绍,应该和 Go 的相似。
  3. 没有开发鸿蒙应用,有点期待。
  4. 会开源吗?
2 个赞

这几天挂上这个简单的 cangjie mode 就开始写代码了。再次展示 Emacs 的易扩展优点!不知道这位小哥是否在这个论坛里。谢谢了!