Jason Zander近日宣布,微软将把IronPython 和IronRuby 交由Novel/Mono 之父 Miguel de Icaza 及 IronRuby 的前领导者 Jimmy Schementi 来管理。Jimmy 已经于七月份离开微软加入 Lab49。IronPython 也补充了两位协调人:IronPython in Action 一书的合作者 Michael Foord ,以及 IronPython MVP, Jeff Hardy 。这也会对项目的操作方式产生重大影响。
- 社区目前可以向 IronPython 和 IronRuby 的任意组件贡献代码了。
- 我们对 CodePlex 上的 IronPython 和 IronRuby 项目进行了修改,现在社区成员可以提交贡献,而不需要经过微软的介入,或是某个微软员工的引荐。
- 我们已经基于 Apache 2.0 发布了 Visual Studio 的 IronPython 工具,目前已经收到了许多针对 Visual Studio 中 IronPython 语言服务的有效反馈。如今我们也已经发布了 Visual Studio 的 IronRuby 工具原型,也期待可以得到类似的反馈。Apache 2.0 协议让社区成员可以使用在使用这些工具的同时贡献出自己的力量。
- 我们完成了许多有关 IronPython v2.7 和 IronRuby v1.9 的基础工作。
- 我们对基础架构进行了许多修补,社区可以使用我们的测试来验证所有语言的更新。
- 我们启动了一个完整的发布流程,可以从 CodePlex 项目中直接进行构建并发布。之前我们只能在内部的代码库中做到这点。
Jeff Hardy 补充到,
虽然 Zander 对此并没有明确宣布,但微软已经不再赞助 IronPython 及 IronRuby。未来微软员工只能在业余时间以非官方的形式参与项目。
总体而言,我想这不会是 IronPython 的终点。我们有着很好的社区,可以和微软之前做的一样好。如果您想让它繁荣,那么现在已经可以向 IronPython 提交补丁了。一个良好的开源社区需要稳定的贡献者作为核心,也同要需要大量偶尔来挠痒痒的人。
Iron 语言起初是用来验证公共语言运行时(Common Lanugage Runtime,CLR)是否对动态语言有良好的支持。这个项目发展至今,已经让不同的动态语言可以在一个统一的对象模型基础上进行交互了。这方面的努力成果,也就是动态语言运行时(Dynamic Language Runtime,DLR),已经包含在.NET 4.0 中。
据 Jeff Hardy 称,DLR 分为里外两“环”:
内环包括表达式树的扩展,Call Site,以及其他一些基础性组件,这也是之前随.NET 4 一并发布的 Microsoft.Scripting.Core.dll。外环则包括了托管 API:ScriptEngine、Scope 等等。这部分工作已经交给社区管理了,我们可以根据意愿对它进行修改。
据我所知,内环,也就是.NET 4 的部分十分稳固,可能会有些改变,不过只会是非常细微的,我们希望微软在修改时会乐意和我们一起工作(以及 IronJS,Clojure-DLR 以及 IronScheme 等项目)。
在我看来外圈也十分稳定,不过我们不必在修改时缩手缩脚(除非这会对多个项目产生影响,因此还是需要一些必要的警告)。为了避免产生混淆,我们正打算将其称为 DLR+ 或其他某个名字。
Jython 之父,也是 IronPython 的主要贡献者 Jim Hugunin 即将离开微软加入谷歌。谷歌使用 Python 在业界有一定名声,因此他在那儿一定会很受欢迎。Jim 写到,
虽然微软停止赞助 IronPython 的决定不是我离开的主因,但的确对我也有所影响。可能你们大都知道,我已经有段时间没有将主要精力放在 IronPython 上了,不过这一决定还是让我对工作进行了反思,我认为是时候探索新的职业道路了。可能带着愤怒离开微软会更让人神清气爽——最好还能带着一些违法的证据一并逃离。不过,我对这里大量优秀的人员及产品表示尊敬。我已经爱上 C#语言的优雅,可能需要承受一些编写 Java 代码时的痛苦,从微软 Office 精心雕琢的 UI 切换到 Google Docs 时可能也会遭受些挫折。不管怎么说,我会珍惜从优秀的人们那里所学到的东西。
相关消息:IronPython 2.7 已经进入了 beta 阶段,Dino Viehland 在发布记录中写到,
IronPython 2.7 包含一些 Python 3.0 中的特性。这次发布主要包含了新的内置 _io 模块,包括字典和集合推断,集合文本表示法,支持在 with 语句中使用多上下文管理器,以及 itertools 方法中的几个新功能,还有新版字符串格式化的自动索引。这次发布也包含大量对标准库的更新,例如有序字典和新的 argparse 模块。
这次发布的 IronPython 安装包还包含了“Visual Studio 的 IronPython 工具”选项,这表示在安装了 Visual Studio 2010 前提下,用户只需一个安装包便能同时获得 IronPython 及其 Visual Studio 支持。这个版本的 IronPython 工具主要包括一些 bug 修复,例如 WPF 设计器改进:目前设计器已经对 XAML 和 WPF 有了完全的支持,包括 Python 类的动态数据绑定。
我们还基于 CPython 文档更新了 IronPython 安装包。这个新的 chm 文件包括 Python 语言及标准库的文档。我们对普通的 Python 文档进行了扩展,覆盖了 IronPython 相关的话题,例如 DLR 托管 API 的使用方式,以及使用静态类型的.NET 语言扩展 IronPython 等等。
我们也补充了一些原本没有的 CPython 标准库,也包含了 mmp 及信号模块,这更好地支持了系统与非托管代码之间的交互。
自然还有一些 bug 修复及性能改进。这次的性能改进主要针对了 cPickle,内置的 sum 函数,并支持了快速异常(不使用.NET 的异常机制)。同时,我们大大减少了 IronPython 抽象语法数的内存占用量,这带来了许多提高,其中最明显的一点在于如今的启动速度比 IronPython 2.6.1 提高了 10%。
查看英文原文: Microsoft is Turning Control of Iron Languages to Miguel de Icaza and Jimmy Schementi
评论