.NET Framework虽然是微软一手打造的,但却在开源社区频频相见,不能不说是一个奇迹。有人做一些有趣的应用与大家分享,有人则更是把.NET移植到非微软平台(比如著名的MONO和dotGNU),还有一些人则更为有趣,他们把现有的语言移植到.NET平台上。IronPython就是Python在.NET平台上的实现。
其实其他很多语言也都有了.NET实现,比如Pascal、Fortran等,为什么我们仅关注IronPython呢?仅仅因为它“系出开源”吗?不光是这样的。Python是一款著名的“动态”语言,其严谨的语法、高级的动态类型以及丰富的系统接口令很多开发这爱不释手,而.NET呢?尽管工作在.NET上的语言(如C#、VB.NET和Managed C++等)都不具备语言层面的动态特性,但事实上,.NET内部将所有代码和数据都作为“元数据”进行存储和控制。.NET元数据采取了关系型数据库的思想,将所有元素以“表”的形式进行存储,并且可以在程序运行的时候对其进行操作,这些操作不仅包括获取类型的信息,甚至包括了动态(运行时)对类型定义进行修改以及动态生成新的类型。因此可以说.NET平台具有“动态的”本质。
大家应该看到了吧:Python这样一款优秀的动态语言,跑在.NET这样一个具有“动态”本质的平台上,简直是“天作之合”。不知道这位年少的“小兄弟”是否能够甚至打败.NET平台上的“大哥大”们。
插曲 说到这里,不禁又想到微软,它又犯了一个错误。前不久,前.NET专家Richard Grimes离开了.NET阵营,他曾批评微软:.NET是好东西,它的关键在于其托管带来的安全性,而微软却没有好好宣传和发扬这一点,却在他的RAD和EnC上煞费苦心。而在我辈“语言爱好者”来看,.NET的跨语言能力是非常好的,而微软却宣传它的跨平台,真是不明智……
IronPython还只是个小孩子,前不久才刚刚发布0.7.3版。让我们一起关注这个小生命的成长吧~~
相关联接
GotDotNet上的IronPython Home IronPython的主页(http://www.ironpython.com/) 花絮 刚刚朋友跑到我这里来看,好奇地问:“Iron Python是什么东西?铁蟒?”——呵呵,铁蟒,好名字!