7

我想每个人都已经听说了一些关键开发人员离开动态语言团队的消息,因为他们认为微软对动态语言的支持正在减弱。

我非常喜欢 Python,并尝试经常使用它。因此,通过扩展,我关心 IronPython 并希望看到它继续发展。我相信很多人对 IronRuby 也有同感。但我仍然不太明白的是,.NET 开发人员为什么要关心 IronRuby 和 IronPython?

如果你要写一封信给微软,要求他们继续支持和开发 DLR 和 Iron 语言,你会使用什么论据?

如果您要说服您的雇主投入开发人员的时间来为尚未制作的 IronPython 或 IronRuby 的社区支持版本做出贡献,您将如何在商业价值方面使其合理化?

以下是我可以提出的几个有趣的用例,但如果我让经理思考上述问题,我可能不会觉得它们说服力:

  1. 大型应用程序中的嵌入式脚本语言:一个有效的用例,但对于大多数开发人员来说似乎是一个小众场景。
  2. 测试和测试自动化:特别是 Ruby 有丰富的优秀测试工具和库可供选择,如果通过 IronRuby 让它们在 .NET 中可用,那就太好了。但似乎等效的 .NET 库正在填补这一空白,例如SpecFlowSelenium 的 WebDriver
  3. 在 Microsoft 堆栈上运行现有框架:如果 IronRuby 能够使 Ruby on Rails 能够在带有 IIS 和 MS SQL 的 Windows 上运行,这可能会鼓励在 Microsoft 堆栈上进行标准化的商店采用 RoR。

谁能想到更好的东西?

4

3 回答 3

5

您在那里写的是对的,我将添加更多项目符号:

  • 使用交互式控制台快速浏览/测试方法。
  • 由于在 IronRuby/IronPython 中开发速度更快,您可以使用它来编写 POC,然后在 C# 或您正在使用的任何东西中实现真正的应用程序。
  • 在 IronRuby 中实现 DSL 并从静态语言中使用它们。
  • 向静态语言应用程序添加动态功能(例如 REPL 控制台)。
  • 完形。
  • 对于 Rubyists:在 IronRuby 中编写 WPF 和 Silverlight(也可能是 WP7 应用程序)。
于 2010-08-18T04:21:20.897 回答
2

我不会低估将其中一个嵌入到大型应用程序中的价值。我使用 Ruby 的元编程功能动态修改应用程序的内部结构,以挂钩通常难以访问的内容(这对于事件尤其如此;我可以轻松添加临时外部挂钩来手动引发事件测试而不是实际修改和重新编译 C# 源代码)。这让我更容易找到错误并重现棘手的场景。它还让我对各种代码进行原型制作,然后将它们制作成单元测试或新类。

此外,它对 QA 手动测试人员很有用。常见任务可以合并到它们可以运行的自动化脚本中。

于 2010-08-18T04:52:06.190 回答
0

轻量级脚本是在 .Net 工具包中使用动态、嵌入式语言的一个非常令人信服的理由。

我公司做科学仪器软件。数据采集​​和分析都是通过框架应用程序中的脚本完成的。这使我们能够对客户的不同需求做出快速响应。

我们一直在评估升级软件的技术,因此我们不必维护自己的脚本语言。我查看了 Qt/PyQt,但当它被卖给诺基亚时,我感到手足无措。我决定等着看 IronPython 是如何成熟的。在 .Net4 和 C# 4 出来之后,我决定使用 IronPython。

我想现在我可能做出了错误的决定,正在考虑回到 Qt/PyQt。有什么令人信服的理由?

于 2010-08-18T14:56:41.563 回答