Since I’m not sure about what kind of developer I want to be, I decided I would pick different languages/frameworks/etc and try them on for size. I chose to try out Ruby on Rails since it seems to be one of the most popular ways to create dynamic interactive web sites. It’s used in sites like Twitter, Basecamp and Github.
First things first, Ruby on Rails has nothing to do with red trains. Ruby is a programming language and Rails is a framework that allows developers to use Ruby to create web sites. Ruby depends on gems for added functionality. Think of gems along the same lines as plug-ins in WordPress. They are packages of Ruby code that allow developers to do more with their own Ruby code. Rails is basically a prepackaged set of these gems. Still with me? Too bad! Let’s focus on this book.
Why I like this book:
- The writing the book is fairly laid back which is nice. It makes it less intimidating.
- The code in the book is slightly outdated which is completely understandable in the world of web development where the mantra is to iterate quickly. Why is this a good thing? Hartl provides the updated code online!
- It introduces you to everything you need to be aware of to develop a Rails app using test-driven development (TDD)!
Why I don’t like this book
- It introduces you to everything you need to be aware of to develop a Rails app using test-driven development (TDD)! Wait, wasn’t this a good thing? Yes, but learning about MVC, Ruby, Rails, Git, TDD and syntax for RSpec, CSS and Ruby-embedded HTML files is a ton of things to throw at a newbie.
- It gave a lot of “how” but not a lot of “why”. The tutorial shows you how to create a Twitter-like app and sometimes Hartl throws some “Do this just cuz it works” into the mix which can be frustrating.
- The bait-and-switch. A few times during the tutorial, you’ll be shown how to do something only to be shown a better way soon afterward! Now I can’t remember which was the right way!
Do I recommend this book for newbies?
I go back and forth on this. If you don’t know anything about Ruby or Rails, web development or Git then it’s a great book to know what questions to ask. Before I cracked open this book I didn’t know what I didn’t know. However the lack of “why” in the book is frustrating. I can type a test in RSpec. I can use Bootstrap to format my pages with CSS. But it will take a lot of outside studying to understand why I should use these. Overall, it’s a decent book. Try it out online and if you like it, send some money to Hartl so he can keep the online version up to date.