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