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/
转载于:https://www.cnblogs.com/doubleyan/archive/2010/01/23/2164818.html
IromPython .Net 的简介和第一个例子相关推荐
- ESP8266 Non-OS SDK 开发之旅 基础篇① 初识 Non-OS SDK,史上超级详细手把手教小白20分钟快速搭建SDK软件开发环境,完成第一个例子Hello World!
文章目录 1.前言 2. SDK概述 2.1 SDK使用流程 2.2 ESP8266 HDK -- 硬件开发工具 2.3 ESP8266 SDK -- 软件开发工具包 2.3.1 Non-OS SDK ...
- Ubantu下hadoop运行第一个例子wordcount过程
Ubantu12.04下hadoop-1.2.1运行第一个例子wordcount过程,分享一下 将WordCount.java文件放在Hadoop安装目录下,并在安装目录下创建输入目录input,目录 ...
- 《Unix网络编程卷1-套接字联网API》第一个例子编译 不通过问题解决
<Unix网络编程卷1-套接字联网API>是本好书. 但是第一个例子不是很好编译. 需要如下步骤: 本人机器CentOS 5.4 1.下载源码 unpv13e解压到任意目录 然后按其rea ...
- python中tornado的第一个例子
python中tornado的第一个例子 1 先安装tornado pip install tornado 2 新建tor.py 记住不能建立 tornado.py 这样的名字 不然会报错 Imp ...
- GLSL着色语言学习。橙皮书第一个例子GLSL+OpenTK+F#的实现。
Opengl红皮书有选择的看了一些,最后的讲着色语言GLSL的部分看的甚为不理解,然后找到Opengl橙皮书,然后就容易理解多了. 在前面,我们或多或少接触到Opengl的处理过程,只说前面一些处理, ...
- TensorFlow版的“Hello World”,运行官网第一个例子
TensorFlow版的"Hello World",运行官网第一个例子.代码如下: #!/usr/bin/env python import os import tensorflo ...
- Introduction to 3D Game Programming with DirectX 12一书学习记录(第一个例子编译错误)
准备开始学一学d3d,听说<Introduction to 3D Game Programming with DirectX 12>这本书不错,于是就拿来学一学.不料第一个例子,按照书中的 ...
- DirectX9 SDK 下载、安装、VC++开发环境配置、跑通第一个例子
一 可在 http://download.microsoft.com/download/F/1/7/F178BCE4-FA19-428F-BB60-F3DEE1130BFA/DXSDK_Feb10.e ...
- TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅
TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅读 ...
最新文章
- python子进程 内存,python中的子进程内存使用情况
- 玩转CSDN博客之自定义博客栏目,根据需要定制栏目
- 脑机接口与量子计算机,关于脑机接口---浅谈人工智能。
- 控件与应用程序许可授权的100%托管的先进控件IntelliLock
- linux中怎么创建管道文件,Linux 管道文件
- IntelliJ IDEA 开发swing(一)
- C++ STL unordered_map按照value排序
- 软件事务内存导论(五)创建嵌套事务
- 程序流程三控制,顺序控制,分支控制,循环控制综合练习题
- 城市道路5G智慧监控方案 让感知为安全护航
- 想多赚钱!程序员如何把副业搞得风生水起?
- php5.3.3 xhprof,给CentOS6.3 + PHP5.3 安装PHP性能测试工具 XHProf-0.9.2
- 微信支付--商家转账到零钱
- ElasticSearch搜索引擎搭建笔记
- python爬虫下载小说
- android国际化语言编码对照表
- 独立游戏(一) 如何通过广告获取收益
- 【图基础】最佳入门课程:图卷积神经网络(中科院 计算所 沈华伟)
- 一键读图OCR 轻松搞定任意网页上出现的文字提取
- 解决迅雷敏感资源无法下载问题
热门文章
- 详解让人闹心的C++语句 cout<<“Hello“<<endl;
- Spring内核研究-通过工厂注入
- leetcode算法题--不同的二叉搜索树
- IIS部署asp.net core webapi
- Golang 优化之路-空结构[转]
- 解剖SQLSERVER 第十篇 OrcaMDF Studio 发布+ 特性重温(译)
- 部署WSUS2.0+SP1
- Ada 程序设计语言(The Ada Programming Language)[第二集]
- kafka 重复消费和数据丢失_刨根问底,Kafka消息中间件到底会不会丢消息
- getvalue函数怎么使用_Java中的构造函数——通过示例学习Java编程(14)