lua,js,python,groovy 经常用来作为插件语言,但是因为太灵活(比如 python 的__dict__),长期使用这些语言编写的插件很可能越来越难维护,所以有没有一门现代的脚本呢。
主要想法是,类型安全,防止空指针有点像 rust,方便重构维护也有点像 go 。不知道 kotlin 可以不可以,但是不想兼容 Java 语法,一定会是个大包袱。
使用场景是比如写个 bot,游戏内 lua 或者稍微麻烦一点的插件。

lua,js,python,groovy 经常用来作为插件语言,但是因为太灵活(比如 python 的__dict__),长期使用这些语言编写的插件很可能越来越难维护,所以有没有一门现代的脚本呢。
主要想法是,类型安全,防止空指针有点像 rust,方便重构维护也有点像 go 。不知道 kotlin 可以不可以,但是不想兼容 Java 语法,一定会是个大包袱。
使用场景是比如写个 bot,游戏内 lua 或者稍微麻烦一点的插件。
1 IsaacYoung Jun 30, 2020 typescript |
2 Actrace Jun 30, 2020 招个程序员,你来当 PM 。 语音编程。 |
3 Jirajine Jun 30, 2020 via Android Python 和 typescript 吧,能写类型的地方尽量写类型。 |
4 CismonX Jun 30, 2020 不知道 F# 能否满足楼主的需求 |
5 ppphp OP @Jirajine @IsaacYoung typescript 好归好,但是最好还是可以解释执行,自己写的话 python 确实可以,但是语言动态特性还是太多了,一旦用了动态特性,就没人改得动了 |
7 Jirajine Jun 30, 2020 via Android @ppphp ts 解释执行直接用 deno 啊,我写的单文件小脚本直接就用 deno run 跑了。 |
8 mxT52CRuqR6o5 Jun 30, 2020 via Android python3 有类型 脚本语言一般都没有指针吧,你是想说 null safe 吗? |
9 ppphp OP @mxT52CRuqR6o5 是的,就是 null safe,类型注解还是不太一样吧 |
10 ztxcccc Jun 30, 2020 PHP |
11 reeco Jun 30, 2020 groovy,kotlin 就很现代了,groovy 语法和 Java 兼容的,kotlin 语法和 Java 不兼容 |
12 ipwx Jun 30, 2020 @ppphp 不喜欢动态的,就尽量少用动态的呗。而且 __dict__ 这种动态,你放在一个局部用有奇效。比如你写一个 Config validation,肯定要用 __dict__ __annotation__ 这种功能吧?但是写完了这套工具,其他地方你用 type annotation 定义 config object,用起来就是很静态的用法了。 具体参考 fastapi pydantic 那一套。 |
14 mxT52CRuqR6o5 Jun 30, 2020 via Android @Actrace 老罗已经做出 TNT 了: ) |
15 nullcc Jun 30, 2020 如果愿意的话 Scala 也可以作为脚本语言用一用 |
16 wellsc Jun 30, 2020 via iPhone Python with type hints |
17 nguoidiqua Jun 30, 2020 没有 |
18 crella Jun 30, 2020 nim? |
19 MeteorCat Jun 30, 2020 via Android php 最好语言 |
20 namelosw Jun 30, 2020 说了这么半天,有人知道到底什么是脚本语言吗? > 游戏内 lua 或者稍微麻烦一点的插件 这个我可以推荐 Deno,Deno 现在是一个 Rust cargo,做嵌入很容易 |
21 akira Jun 30, 2020 易语言 嗯 |
22 mckelvin Jun 30, 2020 via Android https://vlang.io/ 可以了解一下,比较新可能不是很稳定。 |
23 msg7086 Jul 1, 2020 via Android 这么说吧。如果你的插件依赖这些灵活的语言特性才能方便地写出来,那就意味着你在没有这些特性的语言里就很难写出来。况且像 Python 怎么死板的语言都被你说太灵活了,那可能真的需要用 Java 之类的东西了。(或者 TS ?) |