嵌入式脚本环境的优缺点?

时间:2010-04-09 18:12:49

标签: .net scripting embedded-language

.NET应用程序有几种可用的脚本环境(例如this post)。

我的问题是,使用它们的优点/缺点是什么?

示例包括(但不限于)

  • PowerShell的
  • IronPython的
  • 的Lua
  • 的JavaScript

我正在尝试决定在科学应用程序中使用哪种脚本工具,以允许专家用户与复杂模型进行交互,以便他们可以创建新算法。

2 个答案:

答案 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。