InfoQ

News

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

Posted by Werner Schuster on Jan 17, 2009

Community
Ruby
Topics
Runtimes ,
JRuby ,
Performance & Scalability ,
Dynamic Languages
Tags
Ruby1.9 ,
JRuby

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?

No by Daniel Berger Posted Jan 19, 2009 9:21 AM
I don't miss anything - yet by Hermann Schmidt Posted Jan 19, 2009 11:45 AM
beta! by David Fu Posted Jan 20, 2009 2:14 PM
  1. Back to top

    No

    Jan 19, 2009 9:21 AM by Daniel Berger

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

  2. Back to top

    I don't miss anything - yet

    Jan 19, 2009 11:45 AM by Hermann Schmidt

    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!

  3. Back to top

    beta!

    Jan 20, 2009 2:14 PM by David Fu

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

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.