Monday, March 05, 2007

JRuby 0.9.8 Released!

At 5:24 PM (MST) today (March 5th), the JRuby team announced their 0.9.8 release! (Download it here.) This huge news for JRuby and Ruby in general.

On hearing the news of the impending release rubinius developer brixen (Brian Ford) wrote:

"Congratulations to one fine group of folks. 2007 will be the year Ruby breaks out, and YARV and JRuby are definitely leading the charge. I love those JRuby folks for all they're doing for Ruby."

This release includes well over 200 bug fixes, along with a number of enhancements. As of 0.9.8, JRuby is passing better than 98% of the Ruby on Rails unit tests running — according to firebrigade, Rails won't even pass all of it's tests on plain old Ruby; so this is pretty amazing. JRuby's String, Numeric, and Array classes have been rewritten to improve performance and increase correctness. Perhaps the best news is on the optimization front, where number of bottlenecks have been elinated, leading to greater than 6x speed gains. While it's still experimental, the JRuby compiler is also an exciting addition.

The JRuby community is also picking up steam. New to this release is a new core committer, Nick Sieger. Recently, Tom Enebo has been trying out a new bug fixing strategy — I think it's a variation of the Feynman Problem-Solving Algorithm:

  1. write down the problem
  2. think very hard
  3. write down the answer.
(attributed to Murray Gell-Mann). Tom's approach is like this:
  1. post a bug report to the mailing list
  2. wait a couple of hours
  3. Bill Dortch fixes it
This would seem an ideal way to fix problems in Ruby implementations, and I recommend other implementors (of JRuby or otherwise) give it a try.

The JRuby team also called out a non-core developer for his excellent work:

Special thanks to Marcin Mielzynski for his tireless work in rewriting a number of core classes to be much more correct and quick. His attention to detail has rooted out many corner cases.
I think every project has some people like this on it. Kudos to the JRuby team for taking the time to recognize some of them. And congrats to Marcin for his great work.

No comments: