对Ruby的新实现Ruby的Ruby程序员有何意义?

时间:2009-04-04 05:13:37

标签: ruby compilation implementation jruby sap

SAP宣布了Blue Ruby,这是在ABAP虚拟机中运行的Ruby版本。

这似乎为Ruby语言带来了额外的可信度,但除了SAP开发人员之外,它是否对Ruby社区的其他部分有任何适用性?

我只是想知道这可能有什么其他意义。或许,可以聘请Ruby开发人员从事SAP项目的其他工作机会?

Ruby程序员还有其他潜在的好处吗?

另外,我还不清楚:除了MRI和JRuby之外,还有多少不同的实现,为什么我作为Ruby程序员需要除MRI以外的任何实现?我知道如果我想与Java库集成,我可能需要JRuby。除了MRI或JRuby之外,还有其他任何时候我可能需要研究一个实现吗?

我注意到Blue Ruby已编译完成。这是一个很大的好处,这将是Ruby的第一个编译版本吗?

对不起 - 可能有太多问题,但这是一个大问题,但我不确定为什么/如果确实如此。非常感谢从比我更了解Ruby(和I.T.)的人那里获得一些反馈。

3 个答案:

答案 0 :(得分:9)

实际上有很多替代实现。这么多版本的原因部分是因为虽然Ruby本身有很多粉丝,但MRI通常被认为不如它所承载的语言那么好。

这是我所知道的所有其他Ruby实现的列表:

  • MRI

  • JRuby for Java。它的速度优势并不像Ruby 1.9那样出色,但它仍然是与Java集成的重要参与者。

  • 针对.NET的IronRuby(仍在开发中)

  • MacRuby用于制作原生Mac OS X应用程序。它目前基于Ruby 1.9,但它们将为下一个版本发布一个新的基于LLVM的虚拟机,它可以提供一个主要的速度提升,并有望移植到其他LLVM目标平台。

    < / LI>
  • MagLev(仍在开发中)用于高容量Web应用程序。它可能是一种商业产品。

  • Rubinius是一种全新的实施方案,可以作为MRI的替代品,具有更清洁的基础。

我怀疑Blue Ruby会对通用软件开发环境产生多大影响。它可能对SAP程序员来说很不错,并允许他们为潜在的雇员投入更广泛的网络,因为Ruby比ABAP更受欢迎。

所有当前的Ruby实现都被编译为字节码。与SAP的说法相反,从Ruby 1.9开始,MRI本身包含一个字节码编译器,尽管在合并YARV虚拟机的过程中将编译后的字节码保存到磁盘的能力消失了。 JRuby被编译成Java .class文件。我没有关于MagLev的很多细节,但似乎可以肯定地说它也会采取这条道路。

答案 1 :(得分:3)

每个实现都有自己的用例。 JRuby很有用,原因与Jython相同。当IronRuby处于可用状态时,IronRuby在.NET环境中非常有用。

这样的事情使Ruby在企业级别上更容易被接受,并加速了优秀编程语言的传播。

答案 2 :(得分:2)

当然,Blue Ruby适用于SAP相关人员。我不认为会对Ruby社区产生更多影响,因为大多数Ruby开发人员与ABAP开发无关。

Blue Ruby的主要目的是将强大的脚本语言引入ABAP世界,为ABAP开发人员提供更多工具。

您可以在Blue Ruby上阅读我的博客,提供SE16(数据表资源管理器)模拟器。

https://weblogs.sdn.sap.com/pub/wlg/14222

问候,

Alvaro“Blag”Tejada Galindo。

高级ABAP顾问 - SAP Mentor。