写点什么

微软将 Iron 语言交由 Miguel de Icaza 和 Jimmy Schementi 管理

  • 2010-10-24
  • 本文字数:2195 字

    阅读完需:约 7 分钟

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

2010-10-24 07:521698
用户头像

发布了 157 篇内容, 共 54.4 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第十一周笔记

李日盛

笔记

架构师训练营第十一周作业

丁乐洪

数据爬虫

RainGod

爬虫

北极科考:我们为什么要在北极呆上一年?

脑极体

甲方日常 78

句子

工作 随笔杂谈 日常

LeetCode题解:264. 丑数 II,暴力法,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

第九周-学习总结

Mr_No爱学习

系统高可用原因分析&方案

Mars

架构师训练营第六周课后作业

万有引力

架構師訓練營 大作業二

ilake

第一周架构方法-周总结

潘涛

架构师训练营第 11 周学习总结

菜青虫

架构师训练营第 11 周课后练习

菜青虫

上地七街

潇潇雨歇

分析了2020年3万多条的微博热搜,我看到了什么

CoderW

Python 程序人生 爬虫 后端 微博热搜

系统安全高可用总结

Mars

第六周命题作业

cc

第十一周课后练习

晴空万里

架构师第一周总结

永不言弃

架构师训练营第一周作业-命题作业

阿德儿

架构师训练营第一周作业-学习总结

阿德儿

架構師訓練營 大作業一

ilake

第六周学习心得

cc

指令重排序、内存屏障很难?看完这篇你就懂了!

Java鱼仔

Java 程序员 面试 JMM 指令重排序

食堂就餐卡系统设计

永不言弃

架构

第九周 作业1

Mr_No爱学习

Spring 源码学习 12:registerBeanPostProcessors

程序员小航

Java spring 源码

SAML和OAuth2这两种SSO协议的区别

程序那些事

权限系统 OAuth2 程序那些事 SAML SSO

物联网基础知识整理及实战

garlic

物联网

架构师训练营 1 期:大作业(一)

piercebn

架构师训练营第 1 期

Week11总结

lggl

微软将Iron语言交由Miguel de Icaza和Jimmy Schementi管理_.NET_Jonathan Allen_InfoQ精选文章