Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the significance for Ruby programmers of SAP's new implementation of Ruby?

SAP announced Blue Ruby, a version of Ruby that runs inside the ABAP Virtual Machine.

This seems to lend additional credibility to the Ruby language but, except for SAP developers, does this have any applicability to the rest of the Ruby community?

I'm just wondering what other significance this may have. Additional job opportunities, perhaps, for Ruby developers to be hired to work on SAP projects?

Any other potential benefits for Ruby programmers?

Also, something I'm not clear about: Besides MRI and JRuby, how many different implementations are there and why do I, as a Ruby programmer, need any implementation except the MRI? I understand I might need JRuby if I want to integrate with Java libraries. Are there any other times I might need to look into an implementation besides the MRI or JRuby?

I notice that Blue Ruby is compiled. Is that a big benefit and would this be the first compiled version of Ruby?

Sorry - maybe too many questions but this is being discussed as a big deal except I'm not sure why/if it really is. Would be grateful to get some feedback from people who understand Ruby (and I.T.) better than I do.

like image 807
Paul Dexter Avatar asked Apr 04 '09 05:04

Paul Dexter


2 Answers

There are actually quite a few alternative implementations. The reason for so many versions is partly because while Ruby itself has a lot of fans, MRI is often considered to be not quite as nice as the language it hosts.

This is a list of all the other Ruby implementations I know of:

  • MRI

  • JRuby for Java. Its speed advantage isn't as great now that Ruby 1.9 is out, but it's still a big player for its integration with Java.

  • IronRuby (still in development) for .NET

  • MacRuby for making native Mac OS X applications. It's currently based on Ruby 1.9, but they're going to release a new LLVM-based virtual machine for the next version, which looks to offer a major speed boost and will hopefully be portable to other LLVM target platforms.

  • MagLev (still very much in development) for high-capacity Web apps. It will probably be a commercial product.

  • Rubinius is a ground-up reimplementation meant as an alternative to MRI with a much cleaner foundation.

I doubt Blue Ruby will have much of an impact on the general software development landscape. It will probably be nice for SAP programmers and allow them to cast a wider net for potential hires since Ruby is somewhat more popular than ABAP.

All of the current Ruby implementations are compiled to bytecode. Contrary to SAP's claims, as of Ruby 1.9, MRI itself includes a bytecode compiler, though the ability to save the compiled bytecode to disk disappeared somewhere in the process of merging the YARV virtual machine. JRuby is compiled into Java .class files. I don't have a lot of details on MagLev, but it seems safe to say it will take that road as well.

like image 183
Chuck Avatar answered Sep 23 '22 21:09

Chuck


Each implementation has its own use cases. JRuby is useful for much the same reasons Jython is. IronRuby will be useful in a .NET environment, when it exists in a usable state.

Things like this make Ruby more acceptable on the Enterprise level, and hasten the spread of Good Programming Languages.

like image 44
Kalium Avatar answered Sep 25 '22 21:09

Kalium