哪种编程语言支持热代码交换和/或沙盒?

Xav*_*ier 8 erlang lua sandbox stackless python-stackless

我想写一个基于网络的MMO游戏,允许用户编写AI并将其作为游戏的一部分运行.我计划将Html5用于图形,并希望它是基于网络的,因此可以从智能手机访问它.我需要找到一种支持沙盒,并发,热代码交换和大型库的编程语言,以使事情变得更容易.

这时候我的研究出现了Erlang,Stackless Python和Lua.任何帮助表示赞赏.

pib*_*pib 16

Erlang 支持沙盒,因此您可能不想使用它,至少对于您的脚本语言而言.Erlang无论如何都不适合编写脚本,所以这可能没问题.

然而,Erlang 为这样的项目提供良好的后端语言,并且我会从个人经验中强烈推荐它.

我不认为Stackless也有沙盒支持,所以这可能也不在列表中.

另一方面,Lua明确支持沙盒,并且也有协同程序:http://lua-users.org/wiki/SandBoxes,http://lua-users.org/wiki/CoroutinesTutorial,所以我建议那样做为您的脚本语言.

Lua也非常容易嵌入,就像在这个小小的教程中看到的那样:http://heavycoder.com/tutorials/lua_embed.php(你甚至可以在没有所有库加载的情况下离开,因为你还是想要将它沙盒化).


Kor*_*icz 7

我也会选择Lua,因为它具有荒谬的可定制性和通用性(如果您不喜欢它的语法,您可以将其更改为功能性或类似python 的语法).正如前面的回答所说,你有沙盒和强大的并发性.我本人甚至都不会想到嵌入Lua以外的任何东西;>.

但是,Lua缺少扩展的标准库,这就是Python赢得大奖的时间:/.