目前有多个Ruby实现正在进行中。你期待哪一个?为什么?您是否在生产中积极使用非MRI实现?
其中一些选项包括:
目前有多个Ruby实现正在进行中。你期待哪一个?为什么?您是否在生产中积极使用非MRI实现?
其中一些选项包括:
Maglev。它将拥有多年来进入主要Smalltalk虚拟机的所有优化的速度优势。此外,它将自动保存所有数据,几乎是自动的,因此不再需要再摆弄对象关系映射层等。
Ruby1.9(YARV)让我们对Ruby的发展方向有了一个很好的了解,但我不建议将其用于生产用途。虽然它肯定比1.8快得多,但即使是语法的某些部分也在不断变化,所以我认为你不能称它为稳定的。它确实有一些有趣的新特性和语法,随着时间的推移,这些特性和语法肯定会进入所有其他实现。
JRuby和IronRuby非常有用,因为它们允许ruby访问一系列新的库和环境,而在这些库和环境中,ruby是无法使用的。我自己还没有发现它们有多大用处,但我认为它们的存在很好。他们可能允许ruby渗透到公司环境中,否则是不允许的。这只能是一件好事。
Rubinius和Maglev可能是最有趣的项目,但它们对社区的好处可能在未来最远。Rubinius很可能会发展成为ruby语言的尖端纯虚拟机,使ruby代码的运行速度比现在快得多。磁悬浮似乎也非常有前途,因为它有20多年的虚拟机经验支持。它还将提供标准VM之外的功能,但当然,这些功能将以代码可移植性为代价。
不过,总的来说,我最兴奋的是这些实现之间的竞争。让相互竞争的项目都努力让ruby变得更好,只会让ruby生态系统变得更强大。从我所看到的情况来看,虽然存在竞争,但它是友好的;每一个项目都相互提出和接受想法。JRuby和Rubinius团队在创建ruby规范方面所做的工作可能是迄今为止最重要的成果,因为这将有助于确保所有实现保持兼容。
Enterprise Ruby呢?这已经有一段时间了。