The latest State of the Stack Report, published on RailsLab, shows one curious trend: while adoption of Ruby 1.9 continues at a slow rate, many sites have been quick to update Rails itself. Only 1% of sites reporting use Ruby 1.9.1, despite its being out in the market for over a year. Contrast that with Rails 2.3.5, released just last November, with a nearly 14% adoption rate, and Rails 2.3.4, released in September, having a commanding 32.6% adoption rate.
Ruby 1.9 has some very compelling features. Here are a few of my favorites (complete list here):
- Nicer Enumerable syntax reducing the need for blocks.
- Block variables behaving as true locals.
- Full Unicode support.
- Order preservation of hashes.
- Non-blocking I/O.
- Native threads.
- YARV: compiling ruby codes into opcodes
So how come there's no stampede? One obvious reason is gem dependencies. Many developers are reporting problems with some popular gems, although the number of ports and success stories is increasing.
Another reason is support, and this may have as much impact, is hosting provider support. Fortunately, there is some progress here as well. heroku now has 1.9.1 available in their newest stack. Engine Yard is planning to support Ruby 1.9.2 later this year, which will include some string encoding conversion fixes.