有多种脚本环境可用于 .NET 应用程序(例如 this post)。
我的问题是,使用它们各自的优缺点是什么?
示例包括(但不限于)
- PowerShell
- IronPython
- 路亚
- JavaScript
我正在尝试决定在科学应用程序中使用哪种脚本工具,以允许专家用户与复杂的模型进行交互,以便他们可以创建新的算法。
最佳答案
我没有嵌入 Powershell 的经验,但我假设它很像 IronPython,因为它最终与 CLR 紧密相连。
所以:
PowerShell/IronPython
我会将这两者归为一类,最大的优点是能够通过 CLR 进行直接通信。
这些的负面影响可能是内存使用和运行时性能。尽管因为它已经在 CLR 中运行了,所以应该没有太大区别。
Lua/Javascript
相似之处在于,两者最终都将使用某种 P/Invoke API 嵌入。 (或 COM 互操作)
专业版:速度快,占用内存少。 缺点:P/Invoke、非托管代码等。
在 Lua 和 Javascript 之间:
Lua 可能比 Javascript 更快,占用内存更少,但 Javascript 有更熟悉的 OOP 和 FP 习语融入到语言中。
关于.net - 嵌入式脚本环境的优点/缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2609794/