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的很多细节,但似乎可以肯定地说它也将采取这条道路.