The Book of Ruby by Huw Collingbourne covers the Ruby programming language, which is popular as part of the Ruby on Rails framework for building websites and web applications. I thought it was a good primer on Ruby for the average beginner but there are some things that keep it from really standing out against all the other Ruby books on the market.
My first difficulty with the book is the explanation on installing Ruby at the very beginning. I had a hard time understanding what to download and how to install Ruby on my Mac, and I ended up having to do a lot of digging on the Ruby website to figure it out. I think Huw should have covered this a lot more thoroughly, particularly for Ruby beginners.
Once I installed Ruby, I found the rest of The Book of Ruby to be interesting and educational. Huw’s writing style and tone is clear and to the point, which actually sets it apart from other No Starch books like Learn You A Haskell For Great Good!, which has a humorous tone and goofy cartoons in it. In contrast, The Book of Ruby is concise and even a little dry sometimes. I don’t mind this style, and I particularly appreciate Huw’s clean explanation of his code. I did notice that the coding style used through The Book of Ruby isn’t particularly consistent, and it does make some code hard to understand sometimes. That doesn’t bother me, but I know other Ruby developers find a consistent style to be very important for reading Ruby code.
One thing I really find to be missing from The Book of Ruby is hands-on coding projects. I learn more from complex examples and project tutorials, and this book doesn’t really have those. The Book of Ruby‘s strength is in explaining concepts and being a good reference but there aren’t really any projects to work on and I wish there were more ways to tinker with Ruby code. I also think there should be much more devoted to Ruby on Rails than just one chapter, even though technically Ruby is a separate language. Ruby on Rails is a major driving force in Ruby development and I think the book would be more complete with more pages devoted to it.
Programmers who don’t know Ruby might find The Book of Ruby useful as a resource for learning concepts and the scope of the Ruby language. I think there are better resources in print and online for actual hands-on Ruby experience, but The Book of Ruby can help build a good foundation for Ruby development.