rubinius, JRuby, and Ruby.NET plans

by Pat Eyler

In my last blog post, I mentioned the work on rubinius (then at a 0.7 release and now at 0.8) and JRuby. I also promised I’d follow up on them. Here’s what’s been going on so far.

The rubinius gang is going for the ‘application driven plan’. For a 0.9 release in early September, they want to have rake working correctly. Then for their 0.10 October release, they’re targetting RubyGems. 1.0 will come when they can run Rails, so there may be another release or two after 0.10.

Charles Nutter has put together an impressive list of features he’s looking to get done in time for a JRuby 1.1 release at RubyConf. This is the longest feature list of the three, and should make for a very exciting release.

JRuby 1.1

  • compiler complete
  • AOT compilation working with jrubyc
  • stdlib all precompiled
  • gem install precompilation
  • virtual filesystem-inside-JVM (maybe) or hacked rubygems that can run out of an archive
  • performance improvement to be quantified…java integration, execution, memory reduction
  • yarv bytecode execution and compilation (maybe)
  • AST sharing as an option (sharing across runtimes)...need to explore AOT compilation and its (positive?) effect on memory too
  • real threading brutalization, testably multithread-safe core classes (maybe, needs heavy testing on many-core systems)
  • Java API rubification, perhaps with require ‘javax.swing’ and so on
Two other additions have been proposed for this list:
  • Fast debugging for JRuby (based on the ruby-debug extension)
  • thread-pooling (mostly for Rails)

Lastly, in the news least interesting to most linux based Rubyists, Wayne Kelly has started to publicize the next steps for the Ruby.NET project he heads down at the Queensland University of Technology. It looks like he’s going to split recent/upcoming development into two steps (although he may hold off and lump everything into a single release).

Ruby.NET 0.8.5

  • Bug Fixes—ongoing
  • Support for Forms applications—done

Ruby.NET 0.9

  • Add Visual Studio support for Forms development