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

转载于:https://www.cnblogs.com/angestudy/archive/2011/04/15/2016984.html

转载-IronPython入门:什么是IronPython?相关推荐

  1. ironpython 教程_「ironpython」VS2017 IronPython做界面

    本人开始做毕设了,但老师说工具要有界面,所以就开始找Python做界面的东西--之前做过C#的界面,脱拉拽很快界面就完成了,后来我查了下IronPython是用C#写的python解释器,也可以脱拉拽 ...

  2. ironpython教程_用IronPython写winform程序-.NET教程,Asp.Net开发

    是感兴趣,真正的开发可不敢用这个 下面的例子是从jim hugunins 的blog里看到的 先要有ironpython,可以到ironpython的网站上下载http://ironpython.co ...

  3. [转载]批处理入门教程

    [转载]批处理入门教程 写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法 脚本之家补充说明:批处理相对来说是比较简单的语言,大家 ...

  4. [转载]VBS入门教程 VBS基础教程

    [转载]VBS入门教程 VBS基础教程(收藏) VBS基础教程 VBS(VBScript的进一步简写)是基于Visual Basic的脚本语言. Microsoft Visual Basic是微软公司 ...

  5. ironpython是什么软件-IronPython

    IronPython官方版是一款相当实用的编程工具,IronPython官方版是在 .NET及Mono上的Python 实现,由微软的Jim Hugunin所发起,是一个开源的项目,基于微软的DLR引 ...

  6. ironpython安装_安装 IronPython

    IronPython 1.0发布了IronPython是Python编程语言在.NET平台上的实现.它支持一个可交互的控制台,该控制台支持完全的动态编译,并且可以让Python程序员访问所有的.NET ...

  7. 推荐IronPython开发IDE: IronPython Studio

    概述 IronPython是运行于.Net上的给予DLR的Python开发语言,目前最新的版本是2.0 Alpha 6,IronPython Studio是一个强大的开发IronPython的IDE, ...

  8. [转载] pandas入门:Series、DataFrame、Index基本操作都有了!

    参考链接: 带有Pandas的Python:带有示例的DataFrame教程 导读:pandas是一款开放源码的BSD许可的Python库.它基于NumPy创建,为Python编程语言提供了高性能的. ...

  9. 转载--gulp入门

    关于gulp的入门文章,先转载了 http://markpop.github.io/2014/09/17/Gulp%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B/ 转载于:h ...

最新文章

  1. 聊聊flink JobManager的heap大小设置
  2. python 函数部分
  3. 【未来可能用到】关于模型的100个问答-part1
  4. 53亿美元,今年最大一笔杠杆并购案!为什么会是它?
  5. Cordova build构建常见问题整理
  6. mysql根据某个字段的不同状态的值进行统计
  7. 操作系统-信号量机制;用信号量机制实现进程互斥、同步、前驱关系
  8. 浏览器连不上 Flink WebUI 8081 端口
  9. 利用输入法输入汉字,如何统计字数
  10. 为云原生而生 DeepFlow破解混合云时代网络监控难题
  11. 如何比较两个内容相似的Word文档
  12. 一个完整的搜索系统 - God bless you - 博客园
  13. CGB2107-Day03-mybatis
  14. 大数据24小时:腾讯杀入无人驾驶市场,百度安全联合成立“OASES智能终端安全生态联盟”
  15. 特斯拉专利下载_特斯拉(Tesla)发布专利,Docker达到1.0,等等
  16. 面试-vue组件间通信
  17. Hbase(二)hbase建表
  18. Hadoop分布式集群搭建完全教程
  19. 笔记本屏幕30hz_扩展显示-(多屏幕)三屏显示方案全攻略
  20. eclipse远程调试Tomcat, Hadoop集群等

热门文章

  1. python第三方库numpy-Python第三方库之Numpy库
  2. python面试常见问题-Python面试中常见的40个问题
  3. 如何查看python安装了什么库-怎么看python安装了哪些库
  4. python读取csv文件的方法-python读写csv文件的方法
  5. 自学python需要安装什么软件-python自学需要什么软件?
  6. python类型转换-Python的数据类型转换函数
  7. python导入本地文件-Python使用import导入本地脚本及导入模块的技巧总结
  8. 自学python当黑客-为什么黑客都用Python
  9. Pytorch用tensorboarX查看损失图打不开
  10. mysql新增json_MySQL5.7中新增的JSON类型的使用方法