2009-02-14 47 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很好)。

相關問題