Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Ruby 1.9.1 Is Close - Time To Switch From 1.8.x?

Ruby 1.9.1 Is Close - Time To Switch From 1.8.x?

Leia em Português

This item in japanese


A year after Ruby 1.9.0 was released, it hasn't seen much use yet. Some of the reasons are incompatibilities with popular libraries or frameworks, and changes in behavior in some areas. David A. Black recently blogged a few small changes in 1.9.x that developers need to be aware of and which might break software in subtle ways. (InfoQ has reported on many of Ruby 1.9's other changes).

Now Ruby 1.9.1, the first stable release, is about to be released. Ruby 1.9.1 RC1 came out a few weeks ago, and RC2 will soon be released. Currently, the final Ruby 1.9.1 is expected in late January.

A stable 1.9.1 is one reason to take a closer look at running at 1.9.x, if only for the speed improvements. Some features, such as Fibers have been used to increase scalability (eg. NeverBlock for database access or I/O) or for workarounds (eg. NeverBlock HTTP library).

Ruby 1.9.x is also the version used for projects adding new features or usage scenarios for Ruby. The recently announced Rhodes framework (Rhodes is now available in version 0.2) for mobile applications uses 1.9.x versions of Ruby on some of the supported mobile platforms.
Another example is MacRuby, which should also soon see another release. MacRuby is based on Ruby 1.9.x, and focuses on tight integration with Objective-C, to the point where object such as Strings are actually Objective-C String objects; this tight integration allows to script Objective-C APIs with little to no overhead, as well as making use of Objective-C's Garbage Collector (the Objective-C GC (Autozone) was recently open sourced).

While JRuby is aiming to support 1.9.x, with full parsing and partial library support already in place in 1.1.6, other implementations (except for MacRuby), still lag behind in 1.9.x support.

What's keeping you on Ruby 1.8.x? What Ruby 1.9.1 features (performance, Fibers, threading changes, encoding changes, etc) are reasons for switching?

Rate this Article


Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • No

    by Daniel Berger,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    If you're using 1.9.x, you're using beta software. Avoid.

  • I don't miss anything - yet

    by Hermann Schmidt,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    For the small scale things I do with (J)Ruby, I am happy with 1.8.6. I don't miss anything and it is very solid. Actually, the "String = byte array" concept was perfect for my applicaton.

    For serious multi-language enterprise applications, encoding and scaling issues are unavoidable and would make me consider 1.9.

    I think that wide-spread languages or APIs have not many chances for fundamental changes during their lifetime. Once one stable version is used all over the place, the acceptance of new features is slow. Java 5 features are an example. java.util.concurrent? XLST 2.0 anyone? The dreaded Java XML APIs (do one thing in five ways)?
    It takes years to settle into the developers' minds. Why? Because they didn't miss it that much and have to work in environments, which don't keep up for a long while (some never will). I still must write Java 1.3 code in some places!

  • beta!

    by David Fu,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    i think 2.0 is what's gonna come down the road soon and that will actually be the prod version!

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p