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

【编辑推荐】

  1. Visual Studio 2010已配备IronPython预览版
  2. IronPython和C#执行速度对比
  3. 浅析.NET 4.0和Visual Studio 2010多定向支持
  4. 图解VS 2010与.NET 4.0多显示器支持
  5. .NET 4.0的ICustomQueryInterface新特性
责任编辑:yangsai 来源: 51CTO.com
相关推荐

2011-11-24 15:55:23

Python

2011-02-23 09:48:00

Python.NET

2011-02-22 10:00:38

.NETc#IronPython

2009-06-19 09:36:27

C#执行速度IronPython

2010-02-03 15:30:03

IronPython

2009-10-14 14:20:26

IronPython

2009-10-21 14:38:23

IronPython交互式解释器

2022-11-06 19:01:24

CURD数据库开发

2010-02-02 13:45:05

Python程序学习

2009-07-07 14:04:55

JSP入门

2011-09-01 09:23:51

Python

2021-06-18 12:39:12

数据驱动设计设计师收集数据

2018-07-19 19:04:10

Python编程语言

2023-04-12 11:36:07

波分复用WDM

2021-03-20 22:46:22

IaaSSaaSPaaS

2023-09-01 13:49:00

内存进程线程

2010-08-17 09:38:35

IronRubyIronPython

2009-09-27 09:29:56

OSGi和SpringSpring动态模型Spring DM

2021-04-22 15:09:35

iOS快捷方式苹果

2020-07-14 14:59:00

控制反转依赖注入容器
点赞
收藏

51CTO技术栈公众号