LRBlog

Logical Reality Design: Web Design and Software Development

Book Recommendation: RailsSpace by Hartl and Prochazka

April 30, 2008

RailsSpace

Which book should a beginning rails developer choose?

I want to plug the book I learned Rails from: RailsSpace by Michael Hartl and Aurelius Prochazka. Most people in the rails community recommend Agile Web Development, but I'm going to disagree. Strongly. I think most people who recommend AWD aren't familiar with RailsSpace, and having studied from both I think RailsSpace is the better book by far.

I tried AWD first, and found that while it's a decent introduction to Rails, it does a poor job of explaining basic Ruby concepts to programmers who are not used to it. (I was coming to RoR from a background in PHP, Java, and Javascript). As one example, it used the Ruby :symbol syntax consistently, without ever explaining just what the heck that was. I went through a couple of chapters copying down code and making minor modifications trial-and-error style, but I lacked a thorough understanding of what was going on because I was coding in an unknown language. I am used to learning languages very quickly, and AWD just wasn't delivering.

When it just got too frustrating, I tried RailsSpace. I had both books available but tried AWD first because the title of RS suggested to me that it was for experienced rails developers looking specifically to making social networks. Not so: it starts from the beginning, for new developers who have never touched Ruby before, and is much more thorough in its explanations. Every time a new construct or concept gets used in the course of an example, the authors set up a nicely formatted sidebar explaining that concept with its own examples. This gives you the explanation you need to avoid getting lost, without interrupting the flow of the main narrative. In the first two chapters it answered all the confusions that I had suffered while reading AWD, and I felt like I gained a solid understanding of Ruby fundamentals as well as Rails technique.

Yes, the example they build is a social network, but I felt like that was only as a functional example, analogous to the shopping cart AWD uses. The techniques are expandable to any site you'd want to build, and because you understand them better with RS you'll be able to apply them to other types of sites more easily.

Though fewer people are aware of it, I think it's really a better book for the Rails beginner.

A note: the current version of RS uses Rails 1.2.3 instead of the newer Rails 2.x. However, I actually think that's a good place for a beginner to start: in my opinion, most of the stuff changed or added in Rails 2 is great for a developer who knows rails, but actually harder for a beginner who's never used Ruby before.

Add A Comment