文章目錄
- IronPython入門:什麼是IronPython?
- IronPython入門:什麼是IronPython?
- http://developer.51cto.com 2009-10-15 09:32 康凱 編譯 51CTO.com 我要評論(0)
本文對什麼是IronPython進行了簡單的介紹,描述了IronPython誕生的背景,以及.NET動態語言運行時的一些介紹。簡單地說,IronPython就是優雅的python程式設計語言和強大的.NET平台的有機結合。
【51CTO精選譯文】如果你知道什麼是Python,那麼對於什麼是IronPython也便大概能夠揣摩一二。本文將為您詳細介紹IronPython的入門知識,並回答一些您可能感興趣的問題。本文涉及的主題包括:
◆IronPython與動態語言運行時簡介
◆互動式解譯器
◆與通用語言運行平台(CLR)的整合
特別需要指出的是,互動式解譯器對於學習IronPython和探索.NET framework而言是非常有協助的。在本文中,我們將使用互動式解譯器來考察IronPython與.NET framework的整合方式,並學習這個強大工具的有關技巧。(如果您想先瞭解Python語言,那麼推薦瀏覽一下51CTO的Python專題。)
一、IronPython的起源
您可能會問:什麼是IronPython?簡單地說,IronPython就是優雅的python程式設計語言和強大的.NET平台的有機結合。那麼它又是從哪裡來的呢?Jim Hugunin是IronPython的始作俑者,但是最初他並沒有打算建立IronPython語言,之所以後來為什麼建立這個新的動態語言,這裡還有段小故事。當初,Jim Hugunin通過閱讀網上的無數CLR報告瞭解到,對於動態語言尤其是Python來說,CLR是一個極其糟糕的平台。按照他的話說:“最初的 IronPython是作為一系列快速原型而面世的,建立它的初衷只是用來幫我瞭解這個平台到底有多麼糟糕。我的計劃是編寫一個簡練的論文,名稱為“為什麼CLR是一個糟糕透頂的動態語言平台”。後來,這些原型這個竟然啟動並執行很好,通常它們比基於標準C的Python實現要快多了,所以原來的計劃也由此被打亂了。”
後來,Jim把這些初始的原型轉換成了完整的Python實現,並為其起名為IronPython。後來,Jim加入了微軟公司的CLR架構小組,並共同開發供多種語言使用的通用語言運行平台。 該團隊的動態語言小組開發IronPython後,將其作為開源軟體發布了(點擊訪問IronPython官方網站)。
二、動態語言運行時
建立IronPython版本1的微軟公司動態語言小組已經建立了一個託管動態語言的架構,該架構具有完整的類型系統和編譯器支援,他們將該架構的部分實現從動態語言運行時中抽取出來,並在DLR的頂部建立IronPython版本2。
DLR提供了下列內容:
◆建立動態語言的架構
◆包括各種語言(靜態語言和動態語言)之間的互操作
◆DLR將變為C# / .NET 4的一部分
◆DLR語言:
◇OIronPython (微軟公司)
◇OIronRuby(微軟公司)
◇IronScheme ... (Codeplex)
◆可以從C#和Visual Basic.NET(VB.NET)等.NET語言使用的宿主API
此外,還可以在DLR之上構建各種社區語言,如IronScheme、Nua、RemObjects,等等。
為了支援C# 4.0中的動態關鍵字,DLR的各部分已經包含在了.NET 4.0的.NET framework中。從IronPython的使用者的觀點來看,DLR最重要部分就是hosting API。
三、什麼是IronPython?
什麼是IronPython?簡單地說,IronPython就是優雅的python程式設計語言和強大的.NET平台的有機結合。
◆IronPython是一個Python編譯器
◆一個流行的開來源程式設計語言的開源實現
◆運行在.NET和Mono之上
◆一個微軟公司的小組仍在對其進行開發
◆為了與Python 2.6相容,2.6 版本將構建於動態語言運行時之上
◆可運行於Silverlight之上
IronPython是流行的程式設計語言Python通向.NET framework的一個連接埠。微軟公司對於.NET framework的IronPython和動態語言非常關注。微軟公司已經在各種項目中提供了對IronPython的支援。
IronPython已經很好的整合到了.NET framework中,Python語言中的字串對應於.NET的字串對象,並且Python語言中對應的方法,在IronPython中也都提供了。其它資料類型也是一樣。
51CTO兩周前的開發熱點周報上提到IronPython 2.6的RC版本已經放出。正如同上面所介紹的那樣,IronPython 2.6將完全與CPython 2.6相容。
有關什麼是IronPython就先介紹到這裡。有關互動式解譯器以及與通用語言運行平台(CLR)的整合相關的內容,在本文的下一部分將會進行簡單的介紹。