InfoQ

InfoQ

文章

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

John Lam访谈:IronRuby的现状

作者 Robert Bazinet 译者 马家宽 发布于 2008年6月3日

领域
语言 & 开发
主题
Ruby ,
.NET ,
动态语言
标签
IronRuby ,
微软 ,
DLR

去年四月,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

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。