.NET应用程序有几种可用的脚本环境(例如this post)。
我的问题是,使用它们的优点/缺点是什么?
示例包括(但不限于)
我正在尝试决定在科学应用程序中使用哪种脚本工具,以允许专家用户与复杂模型进行交互,以便他们可以创建新算法。
答案 0 :(得分:2)
我没有嵌入Powershell的经验,但我会认为它与IronPython很相似,因为它最终与CLR有很深的联系。
所以:
PowerShell / IronPython
我会将这两者组合在一起,并说最重要的是通过CLR进行通信的直接能力。
这些的负面影响可能是内存使用和可能的运行时性能。虽然它无论如何都会在CLR中运行,但它应该没什么区别。
Lua / Javascript
类似的是,两者都将最终使用某种P / Invoke API嵌入。 (或COM Interop)
Pro:快速,少占用内存。 Con:P / Invoke,非托管代码等
在Lua和Javascript之间:
Lua可能比Javascript更快,更少记忆,但是Javascript更加熟悉OOP和FP成语。
答案 1 :(得分:1)
我认为你可以从你的列表中获取javascript。它不支持复数也不支持运算符重载......所以如果a,b,c很复杂,似乎没有办法实现c = a + b。