是否有任何静态类型,可嵌入的脚本语言?

Nat*_*man 43 language-agnostic static-typing embedded-language

我想知道是否有任何静态类型,可嵌入的脚本语言.Python,JavaScript等是很好的语言,但它们是动态类型的(即,在运行时检查类型).我只是想知道是否有人知道可以嵌入C++应用程序的任何静态类型的脚本语言?

Jya*_*aan 13

我建议你查看Angelscript.我们在Warsow上使用它,它非常好.它具有您期望的所有功能,如类,内存管理等.由于它是静态类型的,它可以为您做出更好的优化,因此字节码最终比其他脚本语言更快.

但是,AS并不像Lua那样容易使用,并且只有一个.zip下载 - 这意味着没有.exe安装程序,.deb包,.dmg或其他任何东西.通常情况下这是可以的,因为您无论如何都要将AS捆绑到项目中.主要难以与Lua相比只是图书馆更大(但有更多的功能).并不是很多人使用它,所以找到示例和帮助要困难得多,但是有很好的文档,所以开始时不应该那么难.

但是,我个人宁愿使用动态语言编写脚本.当我编写应用程序脚本时,我想进入那里并编写废话,而不必担心C风格的行李.除了AngelScript,我真的想不出任何值得推荐的人.


Eli*_*sky 5

嗯,还有Ch - 可嵌入的 C/C++ 解释器

  • @Jacques:在这个世界上,AFAIK。C 中的类型属于变量,而不是值,并且在编译时确定,这使得它是静态类型的。 (9认同)
  • 在什么世界中,C 算作“静态类型”? (7认同)
  • 抱歉,我一直在使用“向编译器说谎”(又名强制转换)不被视为一项功能的语言中工作了很长时间。所以,是的,严格来说 C 可以被认为是类型化的。但是我认识的大多数体验过类型真正重要的语言的人都不再认为 C 是类型化的。我很久以前就开始将 C 视为“便携式汇编程序”...... (4认同)
  • 在我的书中,C/C++ 不符合“脚本”语言的要求。诚然,我的书没有对“脚本语言”的官方定义,但我认为 C/C++ 离它很远。 (4认同)