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