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

时间:2010-04-04 19:03:41

标签: language-agnostic embedded-language static-typing

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

3 个答案:

答案 0 :(得分:13)

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

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

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

C#怎么样?查看Mono实现的C#“脚本语言”REPL(http://www.mono-project.com/CsharpRepl

更新:如果你不知道什么是REPL,那就是你在没有任何参数的情况下运行Python时所看到的,或者是irb