有没有那种有点现代的脚本语言

2020-06-30 13:55:47 +08:00
 ppphp

lua,js,python,groovy 经常用来作为插件语言,但是因为太灵活了(比如 python 的__dict__),长期使用这些语言编写的插件很可能越来越难维护,所以有没有一门现代的脚本呢。

主要想法是,类型安全,防止空指针有点像 rust,方便重构维护也有点像 go 。不知道 kotlin 可以不可以,但是不想兼容 Java 语法,一定会是个大包袱。

使用场景是比如写个 bot,游戏内 lua 或者稍微麻烦一点的插件。

3553 次点击
所在节点    问与答
24 条回复
IsaacYoung
2020-06-30 13:58:09 +08:00
typescript 🐶
Actrace
2020-06-30 14:04:31 +08:00
招个程序员,你来当 PM 。
语音编程。
Jirajine
2020-06-30 14:17:24 +08:00
Python 和 typescript 吧,能写类型的地方尽量写类型。
CismonX
2020-06-30 14:21:47 +08:00
不知道 F# 能否满足楼主的需求
ppphp
2020-06-30 14:46:47 +08:00
@Jirajine @IsaacYoung typescript 好归好,但是最好还是可以解释执行,自己写的话 python 确实可以,但是语言动态特性还是太多了,一旦用了动态特性,就没人改得动了
ppphp
2020-06-30 14:48:00 +08:00
@CismonX 我看一下,f#不知道能不能解释执行
Jirajine
2020-06-30 14:50:51 +08:00
@ppphp ts 解释执行直接用 deno 啊,我写的单文件小脚本直接就用 deno run 跑了。
mxT52CRuqR6o5
2020-06-30 15:07:59 +08:00
python3 有类型
脚本语言一般都没有指针吧,你是想说 null safe 吗?
ppphp
2020-06-30 15:17:55 +08:00
@mxT52CRuqR6o5 是的,就是 null safe,类型注解还是不太一样吧
ztxcccc
2020-06-30 15:19:45 +08:00
PHP
reeco
2020-06-30 15:22:07 +08:00
groovy,kotlin 就很现代了,groovy 语法和 Java 兼容的,kotlin 语法和 Java 不兼容
ipwx
2020-06-30 15:26:20 +08:00
@ppphp 不喜欢动态的,就尽量少用动态的呗。而且 __dict__ 这种动态,你放在一个局部用有奇效。比如你写一个 Config validation,肯定要用 __dict__ __annotation__ 这种功能吧?但是写完了这套工具,其他地方你用 type annotation 定义 config object,用起来就是很静态的用法了。

具体参考 fastapi pydantic 那一套。
tufeiyuan
2020-06-30 15:34:20 +08:00
@Actrace 配合你的头像我笑了。。。。。。。
mxT52CRuqR6o5
2020-06-30 15:37:03 +08:00
@Actrace 老罗已经做出 TNT 了: )
nullcc
2020-06-30 15:37:28 +08:00
如果愿意的话 Scala 也可以作为脚本语言用一用
wellsc
2020-06-30 16:22:10 +08:00
Python with type hints
nguoidiqua
2020-06-30 16:25:29 +08:00
没有
crella
2020-06-30 18:44:58 +08:00
nim?
MeteorCat
2020-06-30 18:47:26 +08:00
php 最好语言
namelosw
2020-06-30 18:51:50 +08:00
说了这么半天,有人知道到底什么是脚本语言吗?

> 游戏内 lua 或者稍微麻烦一点的插件
这个我可以推荐 Deno,Deno 现在是一个 Rust cargo,做嵌入很容易

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/685906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX