Ruby 1.9.1 Preview Released: Why This Is A Big Deal
Why To Get Excited
A preview release? Why is this a big deal? A few reasons why Ruby 1.9.1 is significant, even as a preview release:
- Ruby 1.9.1 will be the first stable, production-ready release of the much anticipated Ruby 1.9 series.
- The Ruby 1.9 branch is the cornerstone of Ruby's future. Much as PHP 5-style code is replacing PHP 4-style code, Ruby 1.9's idioms and style will eventually reign (even if it takes a few years).
- As of Ruby 1.9.1-preview 1, the language features and changes are effectively "frozen." Changes to standard libraries for multilingual features are likely to continue, however.
- Ruby 1.9.1-preview 1 allows you - as a developer - to test your code and libraries on what will eventually become the "default" Ruby.
On that last point, as Dave Thomas says in his release summary:
If you are the maintainer for any publicly available Ruby code (be it a Gem, an application, or whatever) I strongly urge you to download this preview. You'll be doing the community a great service in two ways. First, the various incompatibilities between 1.9 and 1.8 mean that there's a chance that your code may not work without some tweaks. Making those changes now will help others using your code.
Getting Ruby 1.9.1-preview 1
You can get Ruby 1.9.1-preview 1 in source form from the official ruby-lang.org FTP site at ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-preview1.tar.gz or via HTTP from http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-preview1.tar.gz
If you find the ruby-lang.org server slow - as I do - I've made the .tar.gz available here from Amazon S3, so you should be able to download it at full speed.
Ruby 1.9 Resources
When Ruby 1.9 was still quite new, James Edward Gray wrote the excellent "Getting Code Ready for Ruby 1.9." Much of it is still very relevant.
Almost a year ago, Sam Ruby wrote a comprehensive set of notes on porting REXML to Ruby 1.9.
Mauricio Fernandez's gargantuan "Changes in Ruby 1.9" is still an excellent reference.
Got any Ruby 1.9 migration tips or tricks of your own? Please, leave a comment!