对于Windows平台上的测试工程师,IronPython与PowerShell相当,不具备优势。大约一年前,我在公司内部搞了一个介绍 IronPython的讲座,说:PowerShell是另一个很好的选择。
如果要构建复杂应用,IronPython可能有如下优势。
第 一,Python是通用程序语言,PowerShell面向Windows管理。作为一种已经被广泛应用的语言,Python的严谨和弹性被证明可以构造 复杂和大型的应用。在Windows管理领域,PowerShell是最佳选择,但是它未必适合更广泛的领域。我曾今读过一篇讨论PowerShell和 IronPython的Blog,作者就表示用命令行的思路来构造应用程序有些别扭。
第二,IronPython与C# 4.0都基于DLR。IronPython与DLR有天然的共生关系(DLR为IronPython服务,IronPython驱动DLR发展),它们的 发布几乎是同步的。PowerShell有自己的一套基础设施,在.NET平台上的互操作性可能不如IronPython。
第 三,IronPython团队为IronPython与.NET平台的集成进行了大量的工作。例如,IronPython 2.6引入__clrtype__,这使得C#代码(例如WCF/WPF运行时)可以方便的调用IronPython对象。在这一点 上,PowerShell还不具备相应的功能。
第四,IronPython可以调用CPython库,有能力运行一些现有的 CPython框架。
第五,IronPython是xcopy安装,PowerShell需要安装到GAC。这对于 Sliverlight应用可能有显著的影响。
第六,IronPython即将拥有Visual Studio支持,这是非常有利的因素。
第七,IronPython是开源程序,开发者可以修改IronPython引擎。它也为大学和 研究院的研究者提供了很好的实验工具。
原帖:http://smarttesting.spaces.live.com/Blog/cns!97093680FB5C09D7!271.entry