Wednesday, March 21, 2007

To JRuby or not to JRuby, that is the question

With recent advances in the Ruby world mainly from the 'Nutter' gang, JRuby (the Ruby implementation on JVM) has opened a whole new world to ruby die hards and to recent (RoR/Ruby) converts.

This new world is full of highly sophisticated core Java libraries and enterprise integration solutions, plethora of proprietary and open source JMS implementations, even convention over configuration based frameworks, EJB free and scalable enterprise architectures with life cycles.

So when one encounters a lack of decent library in pure Ruby world i.e. PDFReader etc, one is compelled to look into Java world. After juggling around with pros and cons of duck-typing Ruby and static Java, a productive programmer will choose Ruby and the plethora of libraries in Java world will make him choose JRuby.

This raises new set of questions, would it behoove me to take a plunge into the JRuby (Java) ocean? is JRuby mature enough? would I be able to resurrect/re-use all of my JRuby code if I decide to go with YARV/Rite (Ruby 2.0 + YARV) whenever that is ready?

I am sure in next 3-4 years we will start seeing practical scenarios where customers want to migrate either from Ruby to JRuby or reverse. For now, personally I think JRuby1.0 release will answer many of these question and many recent Ruby converts will again jump boats.

Let me know your thoughts....