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

问题描述:

有几种脚本环境可用于.NET应用程序(例如this post)。嵌入式脚本环境的优点/缺点?

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

例子包括(但不限于)

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

我试图决定在科学的应用中使用该脚本工具允许专家用户与复杂的模型进行交互,从而创建新的算法。

+0

我列出了一些嵌入式脚本环境,但我并不是想要限制对列出的响应。 – pomeroy 2010-04-09 18:13:44

+3

你试图编写脚本的是什么?这是用户界面的一部分吗?你的构建过程的一部分?脚本化服务器组件触发您的用户界面? – Jaxidian 2010-04-09 18:19:16

我没有嵌入PowerShell的经验,但我会认为它很像IronPython,因为它最终与CLR深度连接。

所以:

PowerShell中/ IronPython的

我想组这两个在一起,说的大利好是通过CLR沟通能力直接。

这些消极因素可能是内存使用和可能的运行时性能。尽管无论如何它已经在CLR中运行,但它应该没有什么区别。

的Lua/JavaScript的

在这两个类似的会使用某种的P/Invoke的API最终被嵌入。 (或COM Interop)

专业:快速,更少的内存使用情况。 缺点:P /调用,非托管代码等

Lua和JavaScript之间的:

的Lua可以是更快和更小的内存猪比的Javascript,但JavaScript有更熟悉OOP和FP成语烘焙成语言。

+0

你是说在.Net中没有Lua或Javascript的本机实现?你对此有多确定?这是一种脚本语言,不是设备驱动程序。 – Earlz 2010-04-09 18:23:23

+0

好点@Earlz。我想的是我想的显而易见的或默认的实现。 – 2010-04-09 18:24:23

+0

如果在应用程序中部署IronPython,IronPython是否准备好供专家最终用户使用? – pomeroy 2010-04-12 18:31:54

我想你可以从列表中获取javascript。它不支持复数,也不支持运算符重载......因此,如果a,b,c很复杂,似乎没有办法实现c = a + b。