IronPython是一個運行在.Net框架通用語言運行庫上的實現(Common Language Runtime,CLR)。這個項目曾一
度停滯不前,近,團隊換了領導者,帶來了新的進展。
Jeff Hardy,IronPython項目的前領導人,這個月在IronPython用戶郵件列表中確認了這次調職,稱“由于多種
原因,我沒有足夠的時間來帶領這個項目了,所以我將這個項目交給Alex Earl和Benedikt Eggers。
Python支持.Net, .Net支持Python
IronPython采用C#開發,不僅僅是為了在.Net上運行Python程序。它可以為Python程序員提供一個通往.Net應用
和對象的橋梁。大的好處是,使它們可以像Pytho本地的對象一樣使用和處理。
過去幾年,IronPython的開發無疑非常緩慢。后的主要版本是2014年的2.7.5.IronPython到現在還沒有
Python3——鑒于將在2020年停止支持Python2,Python 3是接下來的繼任者,這毫無疑問是一個致命的缺點。
在一次開發者會議上,Gitter、Earl、 Eggers和其他一些人討論了這個項目所面臨的緊急問題:CodePlex上
IronPython項目未解決的問題應當如何處理;接下來要實行怎樣的開發計劃;如何鋪設通往IronPython3的道路
。
會議上提出的另一個問題是,如何對使用C語言實現的Python庫實現支持。如果IronPython有了廣泛的用戶,這
是必須要面臨的問題。很多主要的Python庫為了達到更快的速度,都是用C語言寫的,它們應該無需重新編譯就
支持IronPython項目。
好消息是,在這方面已經有一些工作成果了。有一個名為Ironclad的項目,就是為了讓IronPython支持編譯過的
CPython擴展而設計的。壞消息是,這個項目已經很長時間沒有動態了,現在需要做很多修改以適應現代的
Python。
關于
Ruby和GILs
相關的另一個問題是,如何面對這個團隊的另一個項目:IronRuby。顧名思義,這是一個Ruby的.Net實現。這兩
門語言的項目是合作開發的,他們都發源于微軟的動態語言運行庫項目,2010年微軟將他們交給社區開發之后,
兩個項目繼續保持著親密關系。
計劃是讓IronRuby吸引Ruby開發者的關注,而IronPython依然作為一個分離的項目開發。
將來IronPython可能會是一個成功的項目,因為它有實現長久以來快速、多核友好的Python的夢想。因為
IronPython沒有全局解釋器鎖。很多Python實現都有這個特性,而這卻是高性能的絆腳石。
有人說,如果僅僅是沒有GIL,IronPython并不能變得更快。IronPython有些指標比CPython高,有的比CPython
低。對現在而言,只要
IronPython能達到和
Python一樣的速度,就足夠了。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。