前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >是开始学习IronPython 的时候了

是开始学习IronPython 的时候了

作者头像
张善友
发布2018-01-22 10:57:49
1.3K0
发布2018-01-22 10:57:49
举报
文章被收录于专栏:张善友的专栏张善友的专栏

Dino's Blog 上写一篇文章介绍了IronPython 2.6的Final版本已经发布。IronPython就是优雅的python编程语言和强大的.NET平台的有机结合, IronPython 2.6将完全与CPython 2.6兼容。可以从codeplex下载:http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=12482,下载的安装程序包含了二进制文件、Python标准程序库、用于Silverlight的IronPython和一个教程。此外,还有一个成为Pyc.py的工具,该工具可以把IronPython应用程序编译成二进制文件。Ipy.exe可以用来执行IronPython程序,对于熟悉Python语言及探索.NET程序集来说非常有用。http://ironpython.net/有个用Silverlight开发的Web版本的ipy工具http://ironpython.net/try/

IronPython是流行的程序设计语言Python通向.NET framework的一个端口。微软公司对于.NET framework的IronPython和动态语言非常关注。微软公司已经在各种项目中提供了对IronPython的支持。

IronPython已经很好的集成到了.NET framework中,Python语言中的字符串对应于.NET的字符串对象,并且Python语言中对应的方法,在IronPython中也都提供了。其它数据类型也是一样。

MSDN Channel9发布了一段非常精彩的演讲,其内容是IronPython团队的Harry Pierson评论.NET平台上动态语言的发展。

Jim Hugunin是IronPython(也是Jython)的创造者。在构造IronPython的过程中,他发现CLR(Common Language Runtime)对动态语言提供了很好的支持,同时也发现了一些技术问题。为此,他和CLR团队进行了深入的交流。最终,他决定加入微软,加入CLR团队,拟也许注意到Jim Hugunin并不是IronPython得开发者了,而是在构造更适合动态语言的CLR。他们的工作成果之一就是DLR(Dynamic Language Runtime)。

DLR构建在CLR之上,提供了一批服务和API,使得语言开发者能够容易地构造编程语言。它不但是IronPython 2.x的基础,也是C# 4.0的基础。C# 4.0提供了dynamic关键字,可以实现运行时的结构一致性语义(即duck typing)。从语句表达,到底层实现,C#已经完全动态化,动态语义已经渗入其机理。可见,DLR不但打通了IronPython与C#交互的关键,也必将影响到.NET平台上的所有开发者。

IronPython与DLR是共生关系:CLR团队用IronPython来驱动DLR的开发,DLR的开发成果又反过来支持IronPython的进一步演化。这也表明,IronPython将受到微软的持续支持。也许有人会问:既然C# 4.0已经动态化,那么为什么还需要掌握一种“真正”的动态语言呢?Harry Pierson的回答是:用合适的工具做事(choose the right tool for the job)。Harry曾经是C#最早一批的开发者和使用者,现在是IronPython团队的程序经理。与《IronPython in Action》的作者Michael Foord相似,他很擅长也很喜欢C#,同时也非常热爱IronPython。

抱定一种统一语言不放的年代就快结束了,我们正在进入一个专业细分的新时代,函数式语言更擅长并发(F#已经集成到Visual Studio 2010),动态语言更擅长表达领域模型和业务逻辑。将这些语言都聚合在一个统一的平台上(.NET或Java),将为开发者提供更丰富的工具箱:“一方面选择使用针对当前工作的最佳工具,另一方面发挥底层平台的健壮性与资源丰富的优势”。

如《Learning Python》所言:“无论是短期策略任务(测试或系统管理),还是长期战略上的产品开发,Python已经被证明它是无所不能的”。而Python 2.6的一致性、简洁性、兼容性也受到广泛认同。因此,IronPython 2.6的语言成熟度很高,能够用简洁的代码表达丰富的语义。

IronPython 2.6,它为程序员提供了什么优势呢?

首先,它的语法与Python 2.6兼容。第二,IronPython 2.6在动态语言与CLR集成上有重大突破。IronPython 2.6提供了新特性clrtype,允许程序员用纯IronPython代码提供property、attribute等CLR类型信息。这样IronPython代码就可以无缝地与Sliverlight、WCF等框架集成。相关技术细节可以参考Harry的系列文章。第三、开发环境对于语言的成功也至关重要,Visual Studio集成是必不可少的。Harry在他的Blog中提到,在IronPython 2.6正式版发布后,他们会考虑Visual Studio Integration和IronPython 3.x。从Harry的演讲可知,IronPython不会进入Visual Studio 2010 RTM(2010年3月以后,微软刚刚宣布了推迟发布Visual Studio 2010 RTM),Visual Studio 2010 SDK会携带一个IronPython 2.6集成的例子。

PDC2009相关Session:

Using Dynamic Languages to Build Scriptable Applications

Dynamic Binding in C# 4

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009-12-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档