想象一下,你需要开发和调度一个应用程序/脚本来完成以下任务:-
- Reference one or more .net assemblies
- Query the API, get some objects
- for each object call another method in the API
你会使用什么?
过去我已经创建了一些进行上述操作的小型控制台应用程序,但是它似乎有些笨拙和过度臃肿。
我想类似于PowerShell或IronPython可能更合适。
有任何建议吗?
想象一下,你需要开发和调度一个应用程序/脚本来完成以下任务:-
你会使用什么?
过去我已经创建了一些进行上述操作的小型控制台应用程序,但是它似乎有些笨拙和过度臃肿。
我想类似于PowerShell或IronPython可能更合适。
有任何建议吗?
铁Python。
我尝试使用PowerShell和IronPython进行上述任务的试验,并得出结论,即IronPython最适合我。
公平地说,无论是Powershell还是任何DLR基础语言,例如IronPython或IronRuby,都适合该任务,并且比维护琐碎的控制台应用程序少了负担。
如果你所做的只是使用一个 .net 库并进行一些脚本编写,那么 IronPython 要比 Powershell 更胜一筹。如果你想要利用一些类似于 shell 的功能或使用现有的 CMDLET,那么 Powershell 更适合一些。
IronPython是Python的一种实现,具有Python的所有脚本优点,如易于学习、易于阅读和快速开发。
绝对的PowerShell,这正是它设计的东西。
以下是一些有用的资源,可帮助您开始:
如何开始使用PowerShell。
PowerShell的优点之一是他们在后台做了很多工作,使得事物之间很容易地拼接在一起,进行隐式类型转换等操作,以使一个程序的输出可以作为另一个程序的输入。并且,由于所有的东西都传递对象,你不需要编写文本拼接代码来把各种东西凑在一起。
我更喜欢Python,然而当我编写大量原始代码而不是过多依赖库和组件粘合时。
应用程序驱动程序的问题在于它们经常会出现故障。应用程序不断改变其外部结构,这使驱动程序混乱不堪。因此,您不断需要更新驱动程序的部分。我发现非编译动态语言非常理想,因为您可以快速进行更新并启动任务。
PowerShell 是用于此的一种很棒的技术。它非常灵活且易于上手。它由编译和动态代码组成。因此,驱动程序中更算法密集的部分可以采用任何已编译的语言,而更易受损、经常更新的部分则可以采用脚本。它们可以无缝集成。
我是一个热爱使用PowerShell的用户,对IronPython没有太多的经验(这也是我选择PowerShell的原因)。但是IronPython也可能具有这些功能,如果你更擅长这种语言,你应该选择它。
出于对PowerShell的失望,我开始尝试使用IronPython。我认为这是一个很好的替代方案,特别是对于程序员而言。即使你是一个IT人员,我认为Windows命令行 + IronPython是一个很好的组合,可以在.NET时代完成你所需的任务(就像命令行 + vbscript在COM时代很好用)。