John Lam访谈:IronRuby的现状

去年四月,Scott Guthrie在MIX07上首次介绍了IronRuby。从那时开始,IronRuby就一直在开发中,并计划于今年下半年正式推出第一版。

IronRuby是一个运行在.NET框架的完整Ruby 1.8.x实现,它允许Ruby应用能够被无缝的集成到.NET库和基础设施中。它使用了微软的Dynamic Language Runtime,并依据Microsoft Permissive License发布所有源代码。这种集成使得应用Silverlight和.NET框架的全部能力创建应用变得非常容易。

InfoQ有幸对John Lam进行了访谈。John Lam是RubyCLR的最初创始人,随后加入Microsoft负责IronRuby的研发。John Lam的正式头衔是动态语言运行时组经理。

Rob Bazinet (RB):开发团队还需要多长时间来正式推出第一个产品版本?

John Lam (JL):我们计划在今年下半年推出。目前,还有许多工作亟待完成。而且现在还很难判断整个社区的支持会到什么程度(我们现在已经得到了许多来自社区的优秀贡献)。所以根据社区的支持情况,我们的的时间计划会有一定的调整范围。

RB:近日,Scott Guthrie宣布Silverlight 2.0会在其2008年第一季度的版本中支持IronRuby,现在计划中的IronRuby实现中,有多少部分是获得这一Silverlight版本支持的?

JL:我们会密切关注这一新版本的Silverlight。也就是说,Silverlight是一个移动的标靶。我们团队中有一个开发者(John Messerly)专门负责保持我们与Silverlight的同步。我们的DLR接口现在也在进行着大规模的改动,我们将会考虑这些改动与 Silverlight新版本之间的协调。

RB:我看了一下IronRuby的开发者列表,这个列表中的成员们对于IronRuby的实际开发有多大的投入度呢?

JL:我们在很积极的寻求人们对于库的贡献,而且我们已经得到了Curt Hagenlocher、Peter Bacon、Darwin、Terence Lewis和Seo Sanghyeon等人的鼎力支持。库是我们实现中最适合并行开发的部分。而在编译器部分,我们确信我们已经得到了构建一个高品质语言实现所需要的帮助。

RB:我看到Charles Nutter在列表中很活跃,他的经验是如何贡献到IronRuby的研发中的?

JL:关于Charlie,最值得称道的一点是他始终在努力改进所有Ruby实现的性能。他关于JRuby在精简压缩方面的经验(例如浮点类型型和大整数类型的特殊实现,以及如何处理ObjectSpace)对于我们处理类似问题启发很大。

这里为那些没怎么听说过Charles Nutter的读者介绍一下。他是Sun公司JRuby项目的负责人。Sun在2006年得到了JRuby项目,因此Charles Nutter和其他一些开发者也成为了Sun的员工。即便如此,Charles还是基于他在JRuby项目中的经验,为IronRuby的方向提供了大量建议和反馈。

RB:你觉得IronRuby项目的“开源”部分,也就是从贡献者们那里得到的东西是否达到了你的预期?在刚才回答第三个问题时,你说得到了很多优秀贡献者的支持,不过我还是想知道这些支持是否达到了你的预期。

JL:我对于社区贡献的质量感到非常满意。许多人们花了大量时间来理解我们的语言实现和CLR的工作原理。

RB:站在开源这边,对于这个项目,还需要完成哪些工作呢?目标是完整的1.8.6实现,对吗?

JL:是的,我们也希望有些1.9的特性是我们可以同时实现的。比如我们的MutableString实现。这个实现不需要太多的额外工作就可以实现1.9的语义,并且添加一个切换选项来做到1.8.x兼容。

RB:IronRuby会有一系列在Visual Studio 2008中开发UI的工具吗? 会有一个官方发布的IronRuby版本被整合在VS 2008中吗?

JL:我们目前没有在VS中加入IronRuby图形工具的计划。值得一提的,目前Huw和Dermot在Sapphire in Steel那边为向VS中提供设计支持做了一些卓越的工作:http://www.sapphiresteel.com/IronRuby-Visual-Designer.

RB:IronRuby团队是否在积极地与Huw和他开发者一起努力克服IronRuby相关UI工具间的差别,还是说这只是他们那一方的工作,和你们并没有正式的协作?

JL:目前,UI工具间的差异很大。也就是说,我们目前没有正式的协作。我们会经常解答他们提出的各种问题,而他们也会定期向我们展示他们的工作。

RB:我想每个人都想知道Ruby on Rails支持是否是IronRuby的一个目标。你能告诉我们团队是否在为此努力?

JL:是的,Rails是我们能够宣称IronRuby正式发布的重要条件。

RB:你对于IronRuby未来的愿景是什么?

JL:我们的目标没有改变。我们将发布一个高质量的Ruby语言实现,大概在2008年的下半年。从现在开始到那个时候,我们的开发都遵循“会议驱动”的开发计划。现在我们在计划参加MIX 08、RailsConf、Tech Ed和OSCON。

RB:从开始动手到现在,你个人如何评价已有的进展程度?你的期望是否还像刚加入项目时那样?

JL:我对于现在社区和微软团队所取得的成果感到非常高兴。我们拥有一支精锐的开发者和测试者队伍。我对于当初的选择没有任何可后悔的。

RB:John,谢谢你从百忙中抽出时间来参加我们的访谈。

关于IronRuby的更多信息,可参见RubyForge上的IronRuby项目并关注John Lam的博客。

查看英文原文:The State of IronRuby with John Lam

你可能感兴趣的:(John Lam访谈:IronRuby的现状)