我即將開展一個.NET項目:我們需要創建一個利用一些現有C#代碼的程序,並且我希望能夠使用IronPython。 (我是一名經驗豐富的Python程序員,但有點.NET新手)。在IronPython中使用C#代碼
我的問題是:IronPython很適合主要使用C#代碼,還是隻使用C#會更好?如果IronPython非常適合,有沒有需要注意的缺陷?
我即將開展一個.NET項目:我們需要創建一個利用一些現有C#代碼的程序,並且我希望能夠使用IronPython。 (我是一名經驗豐富的Python程序員,但有點.NET新手)。在IronPython中使用C#代碼
我的問題是:IronPython很適合主要使用C#代碼,還是隻使用C#會更好?如果IronPython非常適合,有沒有需要注意的缺陷?
您需要將C#代碼編譯爲可在IronPython中使用的程序集(DLL)。一旦你這樣做了,IronPython就可以像使用其他.NET程序集一樣使用它。
這是IronPython的常見使用場景。
感謝您的信息!任何陷阱? – 2011-02-03 22:41:51
如果您在Windows環境中出於無法控制的原因,使用IronPython有很多優勢。
它就像Python,只有.NET。一旦你學會了如何引用程序集的獨特元素,如何實例化對象,瀏覽對象等,這真的很不錯。
你不需要Visual Studio來開發。記事本++或任何正派的文本編輯器是你所需要的。如果你真的必須有一個IDE,你可以使用SharpDevelop。現在,如果你有VS2010,那麼Ironpython的新插件非常好,未來的版本應該會更好。
隨着Ironpython 2.7和.NET 4.0的推出,以前版本的啓動時間問題大多被否定。
我發現WPF和XAML方法比wx更容易創建GUI應用程序。
IronPython的腳本可以被編譯成exe的便於分配
儘管如此,也有缺點。
大多數軟件包不會直接安裝到Ironpython中,迫使您安裝到CPython中,然後複製相關模塊。
使用pyd共享庫的Python擴展不能工作,除非你使用Ironclad,即使這樣你也可能會遇到問題。
你放棄了跨平臺,除非你的用戶正在運行單聲道,即使如此,你失去了一些像WPF一樣的酷功能。
你有點落後於發展曲線。 Ironpython目前處於2.7 Beta 1版本,並且自10月份以來一直是微軟公佈的代碼。在此之前,MS之外沒有人可以提交補丁。社區領導層將於2月份發佈2.7 RTM版本,然後開始3.x開發。
鐵蟒是Python,而不是C#。它可以與C#編寫的程序集接口,因爲它是一個.net DLR語言,並且非常擅長。但它不是C#並且不會運行C#代碼。 – 2011-02-03 18:55:47
啊...重讀 - 我想你的意思是你想要與現有的C#程序集接口。在這種情況下,Iron Python會做得很好。但是您需要以某種方式託管它(可能在C#應用程序中)。任何 。net語言可以使用現有的.net庫,這是.net的一大優點之一。 – 2011-02-03 18:58:01