Ruby in 2010: A Retrospective of a Great Year for Ruby

By Peter Cooper

As 2010 comes to a close, I've dug through Ruby Inside archives to remind myself how far the Ruby scene has progressed over the year. Over the past couple of years, it's been hinted that the pace of developments in the Ruby world is slowing down, but nothing could have been further from the truth in 2010 (well, except in September..)

Let's take a spin through the year's biggest Ruby news!

January

CoffeeScript Released: A New Language With a Pure Ruby Compiler - If you're into JavaScript development at all, you must have heard of CoffeeScript. It's an alternative syntax for JavaScript that compiles down into regular JavaScript that can run anywhere. Back in January, though, it was seen more as a Ruby-based compiler project, inspired by Marc Andre Cournoyer's awesome Create Your Own Programming Language e-book.

The Rails Envy Podcast Becomes.. The Ruby Show - Gregg Pollack and Jason Seifer's entertaining Rails Envy podcast was taken out to the pasture and shot in 2009, but 2010 opened with podcasting legend Dan Benjamin getting on board with Jason and turning it into The Ruby Show. Little did I know I'd replace Dan as Jason's co-host in October! It's true.

February

MacRuby 0.5 Released: A Significant, Stable Release - Some maturity and stability finally came to OS X's most native Ruby implementation in 2010.

Rails 3.0 Beta/Prerelease Released - The first cohesive release of Rails 3.0 came out in beta form. We quickly released our 36 Rails 3.0 Links and Resources To Get You Going post which has done very well since.

New Relic RPM Officially Supports Rack and Sinatra - Finally! - New Relic had spent all of 2008 and 2009 becoming the de facto performance monitoring and app management system for Rails but in 2010 they finally baked in full support for Rack-based Ruby webapps of all sorts. (Disclaimer: New Relic is a Ruby Inside sponsor.)

Ruby Quicktips Launches - The concise "random Ruby and Rails tips" tumblelog launched in February 2010. It's still going.

March

In-depth JRuby Q&A Interview with Charles Nutter - On behalf of Ruby Inside, Grant Michaels went deep with JRuby's Charles Nutter on JRuby's internals, its future, and what's involved in maintaining a Ruby implementation.

Vagrant: EC2-Like VM Building and Provisioning from Ruby - Mitchell Hashimoto and John Bender released Vagrant, a Ruby-based tool for building and deploying virtualized development environments easily. It was impressive enough at the time but has become a popular project and is used by folks like Engine Yard.

Sinatra 1.0 Released - 2010 was Sinatra's year. It had been under development since 2007 but only finally caught the imagination of a larger audience this year. The 1.0 release brought it the attention of many and smoothed off the edges of what I'd now call Ruby's best webapp library/framework other than Rails.

April

IronRuby 1.0 Released - Little did we know that Microsoft would be putting IronRuby on the backburner several months later.. but IronRuby's 1.0 release was a cause for celebration in the Windows, .Net, and Mono communities alike. Its development continues, though under a different model. Also in April, IronRuby's project leader, Jimmy Schementi, put together one of Ruby Inside's best posts and demonstrations all in one: A Walkthrough of Ruby in the Web Browser using IronRuby and Silverlight

Padrino Released: A Webapp Framework around Sinatra - Padrino is a webapp framework that adds an extra layer of functionality on top of Sinatra (ibid) - think form helpers, extra routing options, generators, admin, localization. It's still undergoing development and I've heard a lot of good things on the grapevine (IRC and Twitter mostly) about it this year.

awesome_print: A New Pretty Printer for your Ruby Objects - awesome_print is easily in my top 5 list for new Ruby projects in 2010. It's a "pretty printer" along the lines of pp (or even p ) but includes color, improved indentation, metadata, and more. It's still under development with version 0.3.1 released in November.

May

JRuby 1.5.0 Released - Ruby's first stable non-Matz implementation took a healthy step forward with its 1.5 release. It was already Rails 3 compatible and giving Ruby 1.9.1 a run for its money in the performance stakes, but 1.5 increased the performance a little more and added several more "bells and whistles" we've come to know and love.

Rubinius 1.0 Released - Not only did we announce Rubinius's 1.0 release, we realized that many Rubyists wouldn't be familiar with just what Rubinius was all about, so we did a full roundup of the whys, whats, and hows! Despite Engine Yard scaling back the team a bit, the Rubinius project didn't suffer greatly and is still under active development.

Haml/Sass 3 Released - After 9 months of work, the popular Haml markup language reached a significant milestone. Sass also got a significant upgrade along with support for SCSS. I don't know where I'd be without the latter. (Thanks to Guoliang Cao for reminding me of this one.)

June

DataMapper 1.0 Released - The popular alternative to ActiveRecord, DataMapper, hits its 1.0 release in June.

The State of Building PDF Documents in Ruby - A row between Jared Pace and Gregory Brown became a surprisingly informative and insightful view into the world of building PDF documents in Ruby.

The Ruby Community's Information Marketing Mania - Famed Rubyist Giles Bowkett noted that many Rubyists had gone infoproduct mad in 2009 and 2010 and looked at some of the most interesting releases. He turned out to be on the money - you might have seen a lot more "infoproducts" around Ruby Inside as of late.

Mongoid vs MongoMapper: Two Great MongoDB Libraries for Ruby - 2010 wasn't just a good year for Ruby; it was great for MongoDB (a NoSQL document-based database system) too. MongoDB fever swept the community and even became a running joke on The Ruby Show. We compared the (still) two most popular MongoDB Ruby libraries (though Mongomatic has come along since).

Could Ruby be Apple's Language and API Future? - Picking up on some rumors and gossip, I pondered if Ruby could become a 'first class' language at Apple. I put myself on the line and said yes. It hasn't happened yet, but I stick by it.

July

Redmine 1.0 Released - Ruby's top project management webapp hit maturity with its 1.0 release.

The 2010 Ruby Implementation Performance Shootout - Antonio Cangiano ran one of his famous (or infamous, some may say!) Ruby implementation benchmark shootouts in July 2010. Ruby 1.9.2 took the crown with JRuby not far behind. Rubinius also put in a good showing being just faster, on average, than Ruby 1.8.7.

August

Microsoft Tires of IronRuby; Jimmy Schementi Jumps Ship - Despite hitting 1.0 earlier in the year, IronRuby's allure wore off to Microsoft in August 2010 and its project leader, Jimmy Schementi (a last name I still can't type with any speed), jumped ship. The prognosis wasn't good but Microsoft released IronRuby "to the community" not long after.

Ruby 1.9.2 Released - The Matz-approved de facto official version of Ruby 1.9.2 was released to much fanfare in August 2010. It drew a line under the crash happy 1.9.1 and finally offered a full, stable and officially supported version of Ruby 1.9 to the masses. 2010 became the year Ruby 1.9 got serious.

Ruby Weekly was launched - I launched a side project: Ruby Weekly. It's a weekly Ruby and Rails e-mail newsletter and continues to grow quickly with 3410 subscribers as of late December. Want to see some recent issues? Check out the archive.

Rails 3.0 Released (And 22 Free Videos To Bring You Up To Speed) - Capping off an already hectic month, the final production version of Rails 3.0 went gold on August 30th. We announced the news but also brought together links to a ton of free videos showing you how to use all of Rails 3's new features.

September

Rubinius 1.1 Released: It's Just Better - September was, perhaps, Ruby Inside's quietest month ever with just one item of note. Short of news, Rubinius's 1.1 release didn't set the world on fire but delivered lots of bug fixes, performance improvements, and increased stability.

October

MacRuby 0.7 Released: More Stability and Easier Sandboxing - MacRuby's big year continued with another solid release. Like Rubinius 1.1, there wasn't much to write home about but it brought the typical bug fixes and stability improvements we all like to see in our implementations of choice.

RSpec 2.0 Released: Ruby's Leading BDD Framework Grows Up - 9 months in the making, RSpec 2.0 demonstrated just how obvious some improvements look in retrospect. Adding tons of modularity, as well as Rails 3 integration, RSpec 2 was, and is, a big deal and we look forward to writing more about it over the next few months. There's a lot of great stuff in there that needs to be written about.

Michael Hartl's 15 Hours of Rails 3 Screencasts - Michael Hartl surprised even me by announcing the release of more than 15 hours' worth of screencasts mirroring his Rails Tutorial book and giving people a true 'over the shoulder' view on how a professional develops Rails 3 apps. Great stuff.

Phusion Passenger 3 Released: The Next Gen of Ruby Webapp Deployment - Between 2008 and 2010, Passenger became the easier and de facto way of serving up Ruby and Rails apps on the Web. Passenger 3 took everything Phusion had learned and kicked things up a notch with significant performance increases and a bunch of great new features (including Passenger's standalone mode).

MacRuby + Mac App Store == Low Hanging Fruit for Rubyists - After Apple announced the Mac App Store, I joined the dots with MacRuby and speculated MacRuby and the Mac App Store would offer some great opportunities to Rubyists willing to get in early. The Mac App Store still hasn't been released but I've heard quite a few MacRuby apps are being prepared for it..

November

Gregory Brown launches the "Practicing Ruby" newsletter - Gregory Brown, author of Ruby Best Practices and dean of the Ruby Mendicant University, launched Practicing Ruby, a $5/month newsletter dedicated to challenging you and turning you into a Ruby mastermind. From all accounts, the newsletter has turned out well and he's up to about 300 subscribers.

Rails For Zombies - The team at Envy Labs made a big splash in the wider media and Twittersphere with their innovative Rails tutorial site, Rails For Zombies. Want to learn some Rails without leaving your browser? Check it out.

Is the Ruby Standard Library a Ghetto? - Mike Perham kicked off a long running argument about the state of Ruby's standard library by calling it a "ghetto." There was some back and forth with other members of the community and he wrote Ruby Stdlib is a Ghetto, Pt 2 before deciding to call it a day and setting to work fixing parts of it himself.

RubyMine 3.0 Released: An Improved Ruby and Rails 3.0 IDE - JetBrains swooped in near the end of 2010 with the only significant Ruby IDE update of the year.

December

Ruby Refinements: An Overview of a New Proposed Ruby Feature - Serious new Ruby features are as rare as hens' teeth so it was important for us to cover a promising new feature proposed for Ruby 2.0 called refinements.

Salesforce buys Heroku for $210m - The Goliath, Salesforce.com, bought our David, the popular Ruby webapp hosting service Heroku, for $210m. Champagne corks were heard popping from as far away as Jakarta, Indonesia.

Special Mentions

RVM has become significantly more popular in 2010 and become indispensable to thousands of Rubyists.

Santiago Pastorino went from his first Rails patch to Rails core between February and September this year.

Bundler became popular in 2010 and is now a key part of the Rails 3 development process (and elsewhere, for many).