如今Ruby运行时的实现已经满大街俯拾皆是了。目前在Java虚拟机平台上已有两个Ruby的实现了,它们分别是JRuby和XRuby,而.NET平台也在迎头赶上。IronRuby项目就在上个月引来了众多开发者的关注,但是不到2007年7月末它最终被发布出来,外界谁都不知道它到底有多完善。
在另一方面,Gardens Point Ruby.NET编译器是由昆士兰理工大学的Wayne Kelly博士和John Gough教授所领导的研究小组负责开发的,于2006年6月面世,通过将Ruby代码编译成微软中间语言(Microsoft Intermediate Language/MSIL,.NET CLR的指令集),使得代码在CLR之上得以运行。
同样是提供了Ruby在.NET环境下的运行机制,IronRuby项目与Ruby.NET项目间的关系非常微妙。IronRuby项目的开发者John Lam曾提到,IronRuby项目借用了Ruby.NET项目中的部分代码:
我们在今年初得到了Ruby.NET项目代码使用的授权许可,并且我们在IronRuby之中使用了Ruby.NET的扫描机制和解析机制。这帮助我们减轻许多编码方面的工作,同时使我们项目获得了与MRI(译注:Matz's Ruby Interpreter,即Matz的Ruby解释器,Ruby的C语言版本,也是标准实现)高度集成的扫描器和解析器。
在项目代码实现中,符合标准的语法解析器是非常重要的组成部分,使用Ruby.NET的解析器可以减轻IronRuby项目组大量的工作。