8

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

这似乎增加了 Ruby 语言的可信度,但是除了 SAP 开发人员之外,这对 Ruby 社区的其他人是否适用?

我只是想知道这可能还有什么其他意义。Ruby 开发人员可能会获得额外的工作机会来从事 SAP 项目的工作?

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

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

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

抱歉 - 可能有太多问题,但这是一个大问题,但我不确定为什么/如果真的是这样。如果能从比我更了解 Ruby(和 IT)的人那里得到一些反馈,我将不胜感激。

4

3 回答 3

9

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

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

  • 核磁共振

  • 用于 Java 的 JRuby。Ruby 1.9 发布后,它的速度优势不再那么大,但它仍然是与 Java 集成的重要参与者。

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

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

  • MagLev(仍在开发中)用于大容量 Web 应用程序。它可能会成为商业产品。

  • Rubinius 是一种全新的重新实现,旨在替代 MRI,具有更清洁的基础。

我怀疑 Blue Ruby 是否会对一般软件开发领域产生很大影响。由于 Ruby 比 ABAP 更受欢迎,这对 SAP 程序员来说可能是件好事,并允许他们为潜在的员工投下更大的网。

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

于 2009-04-04T06:23:17.277 回答
3

每个实现都有自己的用例。JRuby 之所以有用,原因与 Jython 的原因大致相同。当 IronRuby 处于可用状态时,它在 .NET 环境中将很有用。

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

于 2009-04-04T05:44:45.357 回答
2

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

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

你可以阅读我关于 Blue Ruby 的博客,它提供了一个 SE16(数据表浏览器)模拟器。

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

问候,

阿尔瓦罗“布拉格”特哈达加林多。

高级 ABAP 顾问 - SAP 导师。

于 2009-05-07T18:53:17.343 回答