The open source Ruby development language has been rising in popularity in recent years. This week, Ruby developers released version 1.9.2, which may well help to further adoption as Ruby continues to evolve and mature.
The new release, which features performance improvements as well as some fixes and new features, comes at a critical time for the Ruby ecosystem. For one thing, the popular Rails framework for Ruby (Ruby on Rails) is gearing up for its 3.0 release, making Ruby 1.9.2 not just a long-anticipated update, but one that’s been closely watched due to its implications for a wide array of related projects.
Fortunately for Ruby’s supporters, the new update delivers what Nic Williams, vice president of technology at Engine Yard, called “really the first production-ready 1.9 implementation.”
“The first 1.9 development release was Christmas Day 2007, so a tremendous effort has gone into this Ruby implementation,” Williams told InternetNews.com. “The Ruby ecosystem has been preparing for Ruby 1.9 to become ‘the Ruby’ for a long time. Today is that day.”
In particular, Williams — whose firm, Engine Yard, provides services and support for Ruby on Rails deployments and contributes to other open source Ruby-related efforts like JRuby — said Ruby 1.9.2 brings what he described as major speed improvements to Ruby by way of the Yet Another Ruby VM (YARV) interpreter. He also noted that Ruby 1.9.2 now provides Unicode
In the official release announcement for Ruby 1.9.2, Ruby developer Yuki Sonoda noted that, “time is reimplemented” in the new release, a change intended to solve the so-called “Year 2038 problem” that could cause Unix-related systems to fail in the year 2038.
Though Ruby itself has now solved the issue, it’s not one that Ruby on Rails users have had to worry about: Williams noted that the year 2038 bug had already been solved within Ruby on Rails.
“Essentially, Ruby continues to incorporate solutions fixed within community libraries such as Rails, so they’re available to all Ruby users,” Williams said.
In terms of the relationship between the latest Ruby release and the upcoming Rails 3.0 release, Williams noted that the Rails team has been preparing itself for 1.9 for a long time.
“Rails 3.0 is tested against 1.9.2 and the last 1.8 versions, further confirmation that 1.9.2 is the future we’ve waited for,” Williams said. “Rails 3 also includes optimizations for Ruby 1.9.2. So the release of the production-ready 1.9.2 and the impending release of Rails 3.0 are hugely exciting.”
The improvements made in Ruby 1.9.2 will also soon find their way into JRuby, a project that enables developers to leverage Ruby features on Java infrastructure.
“JRuby currently supports much of Ruby 1.9, and with the 1.9.2 release, the team now has a stable target to aim for,” Williams said.
All that cross-testing is made simpler by the fact that Ruby implementations such as JRuby, Rubinius, MacRuby, IronRuby and MagLev all the common rubyspec to continuously test against, Williams explained.
“The ultimate answer is always the version of Ruby put out by the Ruby Core team, called ‘MRI’ or ‘Matz’ Ruby Implementation,’ after Ruby’s creator and chief designer, Yukihiro ‘Matz’ Matsumoto,” Williams said. “RubySpec describes the expected behavior of each MRI version and provides a suite of tests to allow JRuby and the other Ruby implementations to match each release.”