14

[我能找到的唯一类似问题很久以前就得到了回答,并且主要包含对 IronPython 的引用。我也想考虑其他选择]

我们有一个用 C# 编写的复杂数据分析应用程序。该应用程序应为用户提供定制其数据分析任务的复杂方法。目前,我们混合使用配置文件和 Excel 表格来指定它,但它变得笨拙,因此我们正在寻找一种脚本语言来嵌入。

用于 C#/.NET 嵌入的最佳简单脚本语言是什么?是否有可能以类似于 Excel/Word 的方式嵌入 VBA?或者是否使用了 JavaScript/Lua?

不用说,将一些 API 和对象从主应用程序公开到嵌入式脚本中应该很容易。

4

12 回答 12

11

我知道另一个问题引用IronPython,但我仍然觉得它应该在这里,因为我认为它是最好的选择之一。

另一个不错的选择是IronRuby。我看到的主要区别是您的开发人员/用户是否有任何可以转移的 Python 或 Ruby 经验。

真的,最终你最好的选择将是一种最容易被用户适应的语言。除非他们接受它并且能够比使用旧方法更有效率,否则不值得付出努力。

于 2009-01-20T17:48:23.317 回答
8

也许嘘?

于 2009-01-20T17:43:47.787 回答
7

路亚太棒了!Lua 与 .NET 配合得非常好。我写了一篇关于如何开始嵌入 Lua 和 C# 的博客文章,可能值得一看:

http://blog.apterainc.com/software/embedding-lua-and-c/

于 2009-01-20T17:49:24.623 回答
3

我会研究仅 XAML 的 Windows 工作流。您可以重新托管设计器,并提供可以拖出并用于以他们喜欢的任何方式操作数据的自定义活动。非常直观。我目前在我的一个应用程序中使用它,用户似乎很喜欢它。虽然它的学习曲线很小,但它远不如典型的脚本语言,而且人们似乎能够相当快地掌握它,尤其是那些有使用流程图和 Visio 经验的人。

于 2009-01-20T18:02:47.810 回答
2

我知道您要求使用脚本技术,但基本需求是非程序员的代码控制。我们使用.Net 的 ILOG 规则来满足这一需求。

于 2009-01-20T17:46:14.707 回答
2

嗯,C#呢?没有理由不能让用户编写 C#,然后安全地将其加载到具有所有正确限制和保护措施的另一个 AppDomain 中。

于 2009-01-20T17:50:51.173 回答
2

JScript.NETPowerShell呢?

于 2009-01-20T17:51:35.523 回答
2

我认为通过 CodeDom 使用 C# 是非常强大的解决方案

于 2009-01-20T18:03:27.530 回答
2

已经提到了 Boo 和 IronPython,但不要忘记IronSchemeF#或任何其他已移植到 CIL 虚拟机并具有运行时编译/解释的语言。

于 2009-01-28T21:56:18.060 回答
2

IronRuby 每天都看起来更好。

于 2009-08-05T18:13:19.343 回答
1

有很多很多的脚本语言。哪个最适合您取决于您​​要做什么。

您应该分析用户需要执行的任务、他们已经熟悉的符号,并选择与他们匹配的现有脚本语言。您不应该选择一种流行的脚本语言,然后强迫您的应用程序和用户适应它。

于 2009-01-20T18:05:36.197 回答
0

我也会投票赞成使用 C# 来编写你的扩展。除非您有令人信服的理由,例如现有用户群已经熟悉 python、ruby 或 boo,否则引入另一种语言只会增加复杂性和培训成本。

于 2009-01-20T18:04:13.113 回答