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

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

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

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

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

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

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

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

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

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

  • MRI

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

  • 适用于.NET的IronRuby(仍在开发中)

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

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

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

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

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

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

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

当然,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。