JRuby 1.4 Released
The latest release of JRuby, the 100 percent Java implementation of the Ruby programming language, may not set the world on fire, but along with the usual bug fixes, performance enhancements and compatibility improvements, version 1.4 comes with upgrades that mark another solid step in the evolution of this dynamic scripter.
Topping the list in this release is support for Ruby 1.8.7. This is the version the Ruby on Rails (RoR) community reportedly wants to become the required minimum version. About a year ago, the JRuby team announced plans to drop support for Ruby 1.8.7 and skip directly to 1.9, but later decided to support it. JRuby 1.4 now supports Ruby 1.8.7 through patch-level 174. In his blog, JRuby team member Nick Sieger noted that they consider patch-level to be a "best effort" number. "However," he wrote, "as the RubySpec project has matured, it's gotten much easier for us to feel confident about this claim."
This release also comes with a new YAML parser, called Yecht. YAML (a recursive acronym for YAML Ain't Markup Language) is a human-readable data serialization language. It's designed around the common native data types of Agile languages with semantics similar to Ruby. It's gaining some popularity among Ruby developers for object serialization and general data storage. The JRuby YAML parser is "bug-for-bug" compatible with Syck, a YAML parser library designed to load data into scripting languages.
JRuby 1.4 also improves integration with Java. There's a new embedding framework that allows Java 6 jocks to call JRuby from their code, a new org.jruby.embed package designed to replace JavaEmbedUtils, and new java_method and java_send methods.
A late addition to the new feature lineup was a Windows installer. The team also boasts 205 bug fixes since version 1.3.1.
"This release isn't exactly big news," observed Eric Knipp, senior research analyst with the Gartner Group, "but it's exactly what you want to see from a mature open source project. It's getting better over time, and they're not trying to reinvent the wheel. And the pace at which the improvements are being made should make enterprises feel pretty good that this is going to be supported technology going forward."
There are between 400,000 and 500,000 Ruby developers working today, Knipp said ("Depending on who you talk to"). But JRuby may prove to be the implementation of this popular dynamic scripter that opens the most enterprise doors. "JRuby has the fastest Ruby interpreter on the market," Knipp said. "It'll run the complete Ruby test suite, so it's a first-class citizen. And on top of that, you can run it inside all the popular JVMs [Java Virtual Machines]. Plus, you have access to all the existing Java libraries. With JRuby, Ruby becomes just another dialect for Java developers. That's why I think JRuby is a great thing for enterprises to look at if they're considering moving into some dynamic languages."
Jeffrey S. Hammond, principal analyst in the application development group at Forrester Research, agrees. "This makes it a lot easier for developers in large enterprises who want to use Ruby," Hammond said, "because they can do so without having to convince the folks in operations to deploy a new runtime. As long as they have a modern JVM deployed in production (and most shops do at this point), developers can simply install their Ruby apps on top of the existing, supported infrastructure."
"JRuby is a very practical answer for developers and project managers within non-IT companies who want to get higher productivity on a broad swath of their projects and move toward a next-generation rapid application development tool without throwing away existing Java investments," Knipp added. "That's where I think JRuby is a big story."
JRuby is licensed under three open source licenses: the CPL (Common Public License), the GPL (GNU General Public License) version 2, and the LGPL (GNU Lesser General Public License) version 2.1. It's available now for download from JRuby.org.