【问题标题】:Pros/cons of embedded scripting environments?嵌入式脚本环境的优缺点?
【发布时间】:2011-02-06 06:39:17
【问题描述】:

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

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

示例包括(但不限于)

  • PowerShell
  • 铁蟒
  • 卢阿
  • JavaScript

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

【问题讨论】:

  • 我列出了一些嵌入式脚本环境,但我并不是要将您的回复限制在列出的范围内。
  • 您要编写什么脚本?这是 UI 的一部分吗?您的构建过程的一部分?由您的 UI 触发的脚本服务器组件?

标签: .net scripting embedded-language


【解决方案1】:

我认为您可以将 javascript 从您的列表中删除。它不支持复数也不支持运算符重载......所以如果 a,b,c 很复杂,似乎没有办法实现 c=a+b。

【讨论】:

    【解决方案2】:

    我没有嵌入 Powershell 的经验,但我会假设它与 IronPython 很像,因为它最终与 CLR 紧密相连。

    所以:

    PowerShell / IronPython

    我会将这两者归为一类,并说最大的好处是通过 CLR 直接进行通信的能力。

    这些负面因素可能是内存使用和运行时性能。虽然无论如何它已经在 CLR 中运行,但应该没有太大区别。

    Lua / Javascript

    相似之处在于两者最终都将使用某种 P/Invoke API 嵌入。 (或 COM 互操作)

    专业版:速度快,内存使用量更少。 缺点:P/Invoke、非托管代码等。

    Lua 和 Javascript 之间:

    Lua 可能比 Javascript 更快,内存占用更少,但 Javascript 有更熟悉的 OOP 和 FP 习惯用法。

    【讨论】:

    • 你的意思是 .Net 中没有 Lua 或 Javascript 的本机实现?你对此有多大把握?它是一种脚本语言而不是设备驱动程序。
    • 好点@Earlz。我正在考虑我认为的明显或默认实现。
    • 如果 IronPython 部署在应用程序中,它是否已准备好供专业的最终用户使用?
    猜你喜欢
    • 2011-05-27
    • 2013-11-30
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    相关资源
    最近更新 更多