IronPython如何從python.org堆疊到Python的默認Windows實現?如果我正在學習Python,我會不會與IronPython學習一種微妙的不同語言,以及我沒有學習什麼庫?Python或IronPython
有沒有,或者,任何專業人士IronPython(不包括.NET IL編譯類),這將使它更具吸引力的選擇?
IronPython如何從python.org堆疊到Python的默認Windows實現?如果我正在學習Python,我會不會與IronPython學習一種微妙的不同語言,以及我沒有學習什麼庫?Python或IronPython
有沒有,或者,任何專業人士IronPython(不包括.NET IL編譯類),這將使它更具吸引力的選擇?
有一些重要的區別:
有你如何編寫代碼一些細微的差別,但最大的不同是在你有可用的庫。
使用IronPython,您可以使用所有的.Net庫,但代價是一些尚未移植到.Net VM的「正常」python庫,我認爲。
基本上,您應該期望語法和成語是相同的,但是如果您嘗試將它提供給「常規」Python解釋器,那麼爲IronPython編寫的腳本將不會運行。相反,可能更有可能,但你也會發現我認爲的差異。
這也取決於你是否希望你的代碼在Linux上工作。不知道IronPython是否可以在Windows平臺旁工作。
如果它編譯成IL,那麼mono應該可以運行它! – Peter 2009-02-26 10:54:55
它運行並可用於單聲道。 – 2009-02-26 19:53:30
Python是Python,唯一的區別是IronPython被設計爲在CLR(.NET Framework)上運行,因此可以互操作並使用以其他.NET語言編寫的.NET程序集。所以如果你的平臺是Windows,而你也使用.NET或你的公司,那麼應該考慮IronPython。
IronPython的一個優點是,與CPython不同,IronPython不使用全局解釋器鎖,從而使線程更有效。
在標準的Python實現中,線程抓取每個對象訪問的GIL。這限制了並行執行,這對於希望充分利用多個CPU時尤其重要。
查看博客文章IronPython is a one-way gate。它總結了我從StackOverflow提出的問題中學到的有關IronPython的一些知識。
專業版:如果安裝了SilverLight,則可以運行IronPython in a browser。
還有http://fepy.sourceforge.net/可能會通過避免Microsoft許可snafus提供額外的庫。 – 2009-02-26 10:51:36