[ Go back to normal view ]

BW2 :: the bitwise supplement :: http://www.bitwisemag.com/2

Beginning Ruby: From Novice To Professional (second edition)
Book Review

20 September 2009

by Huw Collingbourne

by Peter Cooper
APress: http://www.apress.com/book/view/1430223634
Computer Manuals (UK): http://www.compman.co.uk
ISBN13: 978-1-4302-2363-4
ISBN10: 1-4302-2363-4
656 pages
$39.99



This new edition of Peter Cooper’s informative and approachable introduction to Ruby programming has been updated to cover Ruby 1.9 in addition to Ruby 1.8.

I reviewed the first edition of this book and, overall, my opinion of the new edition remains the same: if you already have some programming experience and want an accessible introduction to the world of Ruby, this is the book to get.

The structure of the book is relatively little changed since the first edition. It is still divided into three sections: Foundations and Scaffolding, The Core Of Ruby and Ruby Online - and many of the chapters are the same or very similar. One notable change relates to the section on the Rails web framework. In edition one of the book, Rails was treated pretty much as the default framework for Ruby. The section on Rails began with a chapter called ‘Ruby On Rails: Ruby’s Killer App’. In the new edition, this chapter has been replaced with one called ‘Web Application Frameworks: Rails, Sinatra and Ramaze’ and Rails’s ‘killer app’ claim has been demoted to a crosshead in the text.

This not only reflects the rise of other web applications but also the uncertain future of Rails itself which has now, in theory, ‘merged’ with another framework called Merb in order to create the Rails 3.0 framework. While this was announced in December 2008, Rails 3.0 has yet to appear and Cooper’s book covers the current (2.3) version before going on to look at the other Ruby frameworks, Sinatra and Ramaze.

One thing that seems to be missing from this book is a list of the significant differences between Ruby 1.8 and 1.9. At least, if there is such a list I couldn’t find it mentioned in the index. As a result, the claim to cover Ruby 1.9 is, I think, a bit misleading. It covers some aspects of Ruby 1.9 - notably character encoding support. But other differences appears to be glossed over. That is, perhaps, not a big deal for most people since Ruby 1.8.6 remains by far the most widely used version of Ruby and the arrival date of the next ‘major’ version, Ruby 2.0, is uncertain.

Once again, then, I can recommend this book as a good introduction to the fundamentals of Ruby programming and its updated section on web development frameworks is welcome.