Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which ruby interpreter are you looking forward to?

There are multiple Ruby implementations in the works right now. Which are you looking forward to and why? Do you actively use a non-MRI implementation in production?

Some of the options include:

  • Ruby MRI (original 1.8 branch)
  • YARV (official 1.9)
  • JRuby
  • Rubinius
  • IronRuby
  • MagLev (Thanks Julian)
  • MacRuby (Thanks Damien Pollet)
like image 621
ctcherry Avatar asked Sep 16 '08 08:09

ctcherry


People also ask

What language is MRI the standard Ruby implementation implemented?

The most commonly used Ruby interpreter is the reference implementation, Ruby MRI, developed in C by the creator of Ruby (Yukihiro Matsumoto) and the Ruby core team.

Which Ruby interpreter?

YARV (Yet Another Ruby VM) is the stack-based interpreter technology that powers the official interpreter of Ruby. Beginning with Ruby version 1.9, YARV has replaced the old version of Ruby MRI (also known as CRuby). As of Ruby 2.6, YARV remains the official interpreter technology used for Ruby.


2 Answers

Maglev. It will have the speed benefit of all the optimization that has gone into a major Smalltalk VM over many, many year. Plus it will automatically persist all your data pretty much automatically so there is no more need to monkey around with Object-Relational mapping layers and so on.

like image 167
Julian Avatar answered Oct 10 '22 01:10

Julian


Ruby 1.9 (YARV) gives us a good idea as to where ruby is headed, but I wouldn't recommend using it for production use. While it's certainly much faster than 1.8, even some parts of the syntax keep changing, so I don't think you could call it stable. It does have some interesting new features and syntax which will surely find their way into all the other implementations over time.

JRuby and IronRuby are useful in that they give ruby access to a whole range of new libraries and environments where ruby couldn't be used otherwise. I've not found much use for them myself yet, but think it's great that they exist. They may allow ruby to infiltrate corporate environments where it wouldn't otherwise be permitted. That can only be a good thing.

Rubinius and Maglev are probably the most interesting projects, but also those where their benefit to the community is likely to be furthest into the future. Rubinius may well develop into a cutting edge 'pure' VM for the ruby language, allowing ruby code to run much faster than it can now. Maglev too seems extremely promising, backed as it is by 20+ years of VM experience. It will also provide features over and beyond a standard VM, but of course these will come at the cost of code portability.

Overall though, what I'm most excited about is the competition between these implementations. Having competing projects all working to make ruby better can only make the ruby ecosystem stronger. From what I've seen too, while the competition exists it is friendly; each project giving and taking ideas from each other. The work done by the JRuby and Rubinius teams in creating a ruby spec is probably the most important outcome so far, as it will help ensure that all implementations remain compatible.

like image 29
tomafro Avatar answered Oct 10 '22 03:10

tomafro