Ruby on Rails 3 Tutorial By Michael Hartl

Ruby on Rails 3 Tutorial

Note: This review was originally posted at

Ruby on Rails 3 Tutorial is well suited for beginning Ruby on Rails developers. Advanced developers will find it useful as well. Here’s why:

Like most Rails books, this one starts with a few paragraphs about the Ruby language and the Rails framework. This book differs from some others because the author strives to build good craftsmanship practices in the reader. The earliest chapters introduce source code version control (using Git and GitHub), test driven development (using RSpec), and cloud hosting (using Heroku). By chapter two, the reader has already created and pushed to a GitHub repo. Very effective, very clear.

Advanced users who want to brush up on best practices like TDD will appreciate Hartl’s coverage and explanations of the practices. No developer with critical thinking skills will do something simply because “all the cool kids” are doing it. When Hartl talks about TDD, he does not preach it as a panacea against bugs, but he states (realistically) that TDD makes bugs more likely to be caught and fixed when they occur.

Hartl expresses a healthy level of irreverence for some of the semantics of our profession. When discussing the difference between TDD and behavior driven development (BDD), he states “Frankly, I’m not convinced there’s much of a difference.” This approach builds trust. You get the feeling that you’re listening to a fellow developer who has fought and defeated many of the dragons that you’re currently facing.

Ruby on Rails 3 Tutorial is not a quick read. One reviewer, Derek Sivers of CD Baby, mentions in the jacket notes that he finished the book in three days. It’s certainly possible to read RoR3T in three days. But readers who want to truly absorb the material will spend time working through the examples, breaking code, fixing it, and generally immersing themselves in all this Ruby on Rails goodness.

Ruby on Rails 3 Tutorial is a well-written book with clear explanations and useful examples. Highly recommended.