Review “Ruby for Rails”January 15, 2007 at 8:42 pm | Posted in Programming | Leave a comment
I just finished reading the book “Ruby for Rails”. The subtitle is “Ruby Techniques for Rails Developers” and this already gives a strong hint at the target audience: developers that are already somewhat familiar with Rails and thus have a least some programming experience. The first three chapters give a very short Ruby and Rails introduction. This is done by describing a very basic shopping cart application. When you are familiair with Rails you will probably skip chapter 2 and 3. In chapter 4 up until 12 the basic programming stuff is handled: classes, objects, control flow, etc. When you are somewhat familiar with modern languages like C#, Java or Python you will be able to read these chapters quickly.
Chapter 13 talks about Ruby dynamics and was by far the most interesting for me. Here the books goes into detail about how a method in Ruby is actually an object, how to inspect private member variables, how to use the several eval functions (which as the book tells you, you should do sparingly), the use of lambda functions in Ruby, etc. etc. In chapter 14 up until 16 the shopping cart application is improved by using all the knowledge you picked up in the previous chapters. And finally there’s chapter 17 which the author could have left out: basically it tells you that you can learn about Rails by either doing a grep on the source, put yourself in the position of the compiler or just read the documentation.
My (very personal) overal verdict: it’s not a bad book but not that great either. I learned quite a bit about Ruby and was able to do it at a high speed, because most of the programming concepts were already familiar to me. It also gave me a gentle introduction in Rails. The author uses small examples, so it’s easy to play with them using the Ruby interpreter. The book could have been a bit shorter and would have benefited from a bit more humor. If you are an experienced programmer, you should either pick up a Ruby reference manual or read a very short book/paper on how Ruby differs from other languages. If you are a (Rails) programmer with only limited programming experience, then this book might be right for you.