zoukankan      html  css  js  c++  java
  • IromPython .Net 的简介和第一个例子

    .Net 4 都已经到来了,早就该去了解IronPython和IronRuby了,回头再去研究一下F#。

    一、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语言:

    ◇IronPython (微软公司)

    ◇IronRuby(微软公司)

    ◇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中也都提供了。其它数据类型也是一样。

    以上源自网络

    四、开始第一个IronPython

    ironPython 有一个基于VS Shell 开发的工具:IronPython Studio 1.0  不过看样子已经很久没有更新过了

    地址:http://www.codeplex.com/IronPythonStudio/Release/ProjectReleases.aspx?ReleaseId=8934

    http://ironpython.codeplex.com/

    冯瑞涛
  • 相关阅读:
    css 的包含块 、负外边距,字体,文本行高
    从Excel中读取数据(python-xlrd)
    准确率(Precision),召回率(Recall)以及综合评价指标(F1-Measure)
    K-means算法-聚类
    用线性回归寻找到最佳拟合直线
    python多线程--优先级队列(Queue)
    python多线程--线程同步
    python多线程
    元组操作
    input()和raw_input()
  • 原文地址:https://www.cnblogs.com/finehappy/p/1654834.html
Copyright © 2011-2022 走看看