zoukankan      html  css  js  c++  java
  • 转载IronPython入门:什么是IronPython?

      本文对什么是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)的集成相关的内容,在本文的下一部分将会进行简单的介绍。

  • 相关阅读:
    Python中所有的关键字
    关于selenium的8种元素定位
    对提示框的操作
    selenium+webservice进行百度登录
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled...报错解决
    Vue中使用echarts
    npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142解决方法
    插入排序
    冒泡排序优化
    roject 'org.springframework.boot:spring-boot-starter-parent:XXX' not found 解决
  • 原文地址:https://www.cnblogs.com/angestudy/p/2016984.html
Copyright © 2011-2022 走看看