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