So, What About Rubinius

Rubinius is important. A whole lot of folks agree. Ola Bini wrote up a whole post about how important he thinks it is. In it, he writes:

In fact, I’m getting more and more convinced that for the people that don’t need the things Java infrastructure can give you, Rubinius is the most important project around, in Ruby-land. More than that, Rubinius is MRI done right. If nothing substantial changes in the current timeline and plans for Ruby 1.9.1, I predict that Rubinius will be the CRuby implementation of choice within 6 months. Rubinius is an implementation done the way MRI should have been.

He also lays out a number of reasons that he feels this way:

  • It is byte code based. This means it’s easier to handle performance.
  • It has a pluggable, very clean architecture, meaning that for example garbage collection/object memory can be switched out to use another algorithm.
  • It is designed to be thread safe (though this is not really true yet), and Multi-VM capable.
  • It works with existing MRI extensions.
  • Most of the code is written in Ruby.
  • It gives you access to all the innards, directly from your Ruby code (stuff like MethodContexts/BlockContexts, etc).
  • The project uses Valgrind to ensure that the C code written is bullet proof.

The meme that rubinius matters has also spread to Sun, who sponsored the recent Rubinius Sprint in Denver. Tim Bray who arranged the sponsorship wrote about why Sun would do this:

Ruby isn’t finished. It’s a great substrate for Rails, it’s immensely useful for building all sorts of things, but it’s not fast enough. I agree with Avi Bryant’s argument that a language isn’t finished until it’s fast enough to extend itself. Frankly, none of the language enhancements proposed for Ruby 2.0 make my heart go pitter-patter. But give me a Ruby with performance as good as a really good Smalltalk VM, and the space of things for which you need statically-typed languages shrinks to a really uninteresting size.

Except for, nobody including me is smart enough to predict which of the Ruby.next implementations is going to have that performance mojo. So, it seems like the only reasonable thing is to bet on all of ’em. One thing that makes this easy is that all the teams get along with each other; a natural outgrowth of Ruby culture, and something from which we can all learn.

Ezra Zygmuntowicz and EngineYard think that Rubinius is important enough to have started hiring Rubinius developers.

I’m really stoked about this. I think rubinius has so much potential that I am really happy to be able to support it. Starting next month Evan Phoenix is going to be working here at EY half time on ey tools and such and half time on rubinius.

The sprint itself went very well. Evan Phoenix, Wilson Bilkovich, and Brian Ford (the core rubinius developers) met with Charlie Nutter (one of the core JRuby developers) for some intensive Rubinius hacking. Brian and Wilson have both written about the experience. Evan joined them in an interview. In the interview, Evan talked about the goals and outcome of the sprint:

[We wanted] to see how we rubinius work would progress in this kind of environment. I was extremely pleased how it went. The 4 of us really tackled things well, and working in a collaborative atmosphere really sped things up. I was also happy to be right there to transfer knowledge of some of the interior of the VM to other developers. That knowledge is more difficult to grasp than almost anything else in rubinius, but probably the most important.

______________________

-- -pate http://on-ruby.blogspot.com

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The good thing about

Candyneat's picture

The good thing about Rubinius is that it is highly adaptable

Great Innovation!

Anonymous's picture

One thing I notice is the Rubinius uses pluggable feature. It has garbage collectors and code optimizers. It means that the object memory can be shifted to another algorithm, which makes it great!

It works with other MRI extension! Rubinius is great!

Belle's picture

The good thing about Rubinius is that it is highly adaptable, it works with other exising MRI extensions.

Linux

Lil Wayne's picture

I used to love Ruby, I really did. That was until I found Rubinius. :P

Rubinius seems very

caballosweb's picture

Rubinius seems very interesting, if only from the angle of what it can teach us about Ruby herself.

I really enjoyed Evan's talk at RubyConf. He bites off scary (to me) chunks of this project and then just chips away at them with really innovative techniques.

Rubinius seems to have a nice focus on exposing interpreter details to the running program as well. I can't claim to understand all of it, but it really looks like it could take concepts like reflection and metaprogramming to new heights.

Definitely a project to keep an eye on...

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState