轉載-IronPython入門:什麼是IronPython?

來源:互聯網
上載者:User
文章目錄
  • 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)的整合相關的內容,在本文的下一部分將會進行簡單的介紹。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.