有几个可用于 .NET 应用程序的脚本环境(例如这篇文章)。
我的问题是,使用它们各自的优点/缺点是什么?
示例包括(但不限于)
- 电源外壳
- 铁蟒
- 卢阿
- JavaScript
我正在尝试决定在科学应用程序中使用哪种脚本工具,以允许专家用户与复杂的模型进行交互,以便他们可以创建新的算法。
有几个可用于 .NET 应用程序的脚本环境(例如这篇文章)。
我的问题是,使用它们各自的优点/缺点是什么?
示例包括(但不限于)
我正在尝试决定在科学应用程序中使用哪种脚本工具,以允许专家用户与复杂的模型进行交互,以便他们可以创建新的算法。
我没有嵌入 Powershell 的经验,但我会假设它很像 IronPython,因为它最终与 CLR 紧密相连。
所以:
PowerShell / IronPython
我会将这两者归为一类,并说最大的好处是通过 CLR 进行直接通信的能力。
这些的负面因素可能是内存使用和可能的运行时性能。尽管无论如何它已经在 CLR 中运行,但应该没有太大区别。
Lua / Javascript
相似之处在于两者最终都将使用某种 P/Invoke API 嵌入。(或 COM 互操作)
优点:速度快,内存使用量少。缺点:P/Invoke、非托管代码等。
Lua 和 Javascript 之间:
Lua 可能比 Javascript 更快,内存占用更少,但 Javascript 有更熟悉的 OOP 和 FP 习惯用法。
我认为您可以将 javascript 从您的列表中删除。它不支持复数也不支持运算符重载......所以如果 a,b,c 很复杂,似乎没有办法实现 c=a+b。