2009-02-14 73 views
6

试想一下,你需要开发和调度应用程序/脚本来做到以下几点: -什么是使用.net库自动执行任务的最佳技术?

  • 参考一个或多个.NET程序集
  • 查询的API,让一些对象
  • 为每个对象调用API中的另一种方法

你会用什么?

在过去,我已经创建了上述的小控制台应用程序,但它似乎有点笨拙和矫枉过正。

我想像PowerShell或IronPython可能更适合。

有什么建议吗?

回答

2

IronPython。

我试用,同时使用PowerShell的和IronPython针对上述任务,并得出结论认为IronPython的是最合适的(对我来说)。

为了公平起见无论是PowerShell的或任何基于DLR的语言 - 如IronPython或者IronRuby的将适合的任务,会比后琐碎的控制台应用程序寻找开销少。

如果你正在做的是消耗了.NET库,做一些脚本,然后IronPython的边缘PowerShell的。如果您想要使用某种shell类型的功能或使用现有的CMDLETS,那么Powershell是更好的选择。

IronPython是python的一个实现,它为Python提供了脚本编写的所有优点,比如易于学习,易于阅读和快速开发。

2

与应用驱动程序的问题他们是不断突破的。应用程序不断改变其外部表面,这对司机造成严重破坏。因此你不断需要更新驱动程序的部分。我发现一个非编译的动态语言非常适合这种情况,因为您可以快速进行更新并启动任务。

Powershell是一个很好的技术。这是一个非常灵活,非常容易接受。它是编译和动态代码的混合。因此,驱动程序中算法较重的部分可以是任何编译语言,更脆弱和经常更新的部分可以是脚本。他们无缝集成。

我是一个狂热的Powershell用户,并且没有太多的IronPython经验(因此我的选择)。 IronPython也可以拥有这些功能,但如果你对这种语言更加熟悉,那么它就是你应该去的地方。

3

PowerShell的一个优点是,他们在后台做了很多工作,使得事情能够轻松地融合在一起,进行隐式类型转换等,以使一个程序的输出可用作另一个程序的输入。而且由于所有东西都通过了对象,所以你不必编写文本代码来凑齐事物。

但是,我更喜欢使用Python,当我编写大量原始代码而不是严重依赖库并将组件粘合在一起时。

0

出于对PowerShell的沮丧,我确实考虑过IronPython。我认为这是一个很好的选择,特别是如果你是一个程序员。即使你是一个IT人,我认为Windows命令shell + IronPython是一个很好的组合,可以完成你在.NET时代需要的东西(比如在COM时代命令shell + vbscript很好)。

相关问题