Book Review–Book of Ruby

0

Posted by Andrew | Posted in book reviews, o'reilly, Rails, ruby, Ruby on Rails | Posted on 22-09-2011

The Book of Ruby: A Hands-On Guide for the Adventurous
by Huw Collingbourne
No Starch Press 2011

O’Reilly Publishing provided me access to an electronic copy of this book for review purposes.

Thanks to Ruby on Rails, the Ruby programming language is one of the most popular languages at the moment to learn.  But according to the author you can’t just jump into Rails without first learning a bit of Ruby and thus this book was born.  This book was written and developed for the novice to learn the basics of how Ruby works and what some of it’s pitfalls are.  The author points out in the introduction that although Ruby may look deceptively simple to learn, it really isn’t and it is his hope to help people navigate and learn this complex language.  This massive book (over 400 pages) is broken down into 20 chapters each on specific topic of Ruby (such as strings and ranges) and then further broken down into subtopics on the main topic, with screenshots and examples of the language scattered throughout to better help the reader place into context what the code should look like.

First I should say I’m not an experienced programmer (I’ve been learning the languages but don’t have a chance to use them as often as I’d like.)  So what I’m looking for and got out of this book may be different than what others are for.  I’m looking at this book as a way to pick up some of the basics of Ruby to get started with, how it compares with other languages, and what the biggest headaches are about it–so I can’t speak to whether or not there are better (or perhaps more standard) ways of preforming the same function/example that others maybe able to.  What I can say is that, at least the beginning of the book, gave me a good feel for some of the things that the language can do and what the code might look like in the real world (or at least how to recognize that the code I’m looking at is Ruby.)  Huw’s writing style is written to be more non-technical than some other programming books so it’s relatively easy for the novice to understand and follow along.  The later chapters however, didn’t give as much information on a topic as I would have liked, such as the chapter on debugging.  I get that Huw was just trying to give an introduction to the concept, but I think it deserved longer treatment, especially since it’s a book for the novice and this seems like an important part of getting Ruby working correctly.

The other thing that really bothers me about the book is how comments are done in the coding examples in the book.  They are written just like you would find them in real world code, but for me it was confusing at times and just added to the jumble especially when they came on each line.  I just wanted to be able to focus on walking through the Ruby code and not figure out the annotations at that moment.  Perhaps if it had been a different color it would have helped or if it was explained beneath the example (as other programming books have done), but as is some of the coding examples were less than helpful.  So while the beginning of the book provided a somewhat useful introduction on Ruby and what it could do, I know that I can get the same information and examples that are more beneficial to my learning style through some online tutorials and in other books.

If you do well with having a printed book next to you to help you learn a new language then at least the first part of the book might be useful to you.  If you’re already an experienced programmer or have a bit of Ruby knowledge then you might get better value at looking at online tutorials/schools or other more in depth books.  I will say for me that if I hadn’t been provided a review copy of the book I wouldn’t have picked the book up and I won’t be buying it for my library as I think that are books better suited for my students learning style (and with more information) than this one.

I review for the O'Reilly Blogger Review Program

Enhanced by Zemanta