在多线程C/C++应用中,哪个脚本语言更适合嵌入?
考虑到以下需求:
- 必须支持Windows系统。最好也能在其他平台上运行。
- 必须支持多线程。也就是说,程序可以在多个线程中同时工作。
- 可读性很重要。
- 许可证必须与闭源项目兼容。
我喜欢Python,因为它的可读性很好。而且我对Python的经验比其他脚本语言多。不过,CPython不支持多线程,而IronPython需要托管CLR和一个兼容的语言(比如C++/CLI或C#)。
12 个回答
12
Lua是一个很不错的选择。Python、Ruby和JavaScript都是比较大的编程语言,它们并不是为了嵌入其他程序而设计的。但Lua就不一样,它就是为了嵌入而设计的。
在选择脚本语言时,你应该更关注“限制”这一点,而不是其他的东西。嵌入的脚本很容易被用来做一些不好的事情。
举个例子,默认情况下,Lua是不能直接在控制台上打印信息的。根据我所知道的,暴雪公司就是因为这个原因而使用Lua的。
9
你可以考虑嵌入一个流行的JavaScript引擎。这样不仅运行速度快,而且支持也很好。因为很多人都会编写JavaScript代码,所以大家都能很容易地理解和使用。
根据这个回答,SpiderMonkey引擎是线程安全的,而Google/Chrome的V8引擎可能就不是这样。