Hi, I decided it's finally time to pick up Ruby, tried Why�s (Poignant) Guide to Ruby and wanted to find a window to throw him out of, found Programming Ruby The Pragmatic Programmer's Guide and figured these guys won't steer me wrong. Except the free version is an older edition ... 2001.
How much will that steer me wrong? Any other strong recommendations?
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
I don't really know how the versions compare, as I've got the second edition and have basically ignored the first. But here's what Dave Thomas has to say about the differences in the second edition:
Apart from the updates to support Ruby 1.8, you'll find that the book has changed somewhat from the original edition.
In the first half of the book, I've added six new chapters. Getting Started is a more complete introduction to getting up-and-running with Ruby than we had in the first book. The second new chapter, Unit Testing, reflects a growing emphasis on using testing among Rubyists. Three new chapters cover tools for the Ruby programmer: irb for experimenting with Ruby, RDoc for documenting your code, and RubyGems for packing code for distribution. Finally, a new chapter covers duck typing, that slightly slippery philosophy of programming that fits in so well with the ideas behind Ruby. That's not all that�s new. You'll also find that the chapter on threads has been extended significantly with a discussion on synchronization and that the chapter on writing Ruby extensions has been largely rewritten. The chapter on Web programming now discusses alternative templating systems and has a section on SOAP. The language reference chapter has been significantly extended (particularly when dealing with the new rules for blocks, procs, breaks, and returns).
The next quarter of the book, which documents the built-in classes and modules, has more than 250 significant changes. Many of them are new methods, some are depre- cated old methods, and some are methods with significant new behavior. You'll also find a number of new modules and classes documented.
Finally, the book includes a section on the standard library. The library has grown extensively since Ruby 1.6 and is now so big that I couldn't document it to any level of detail without making the book thousands of pages long. At the same time, the Ruby Documentation project has been busy adding RDoc documentation to the library source itself. (I explain RDoc in Chapter 16 on page 187.) This means that you will increasingly be able to get accurate, up-to-date documentation on a library module using the ri utility that comes with your Ruby distribution. As a consequence of all this, I decided to change the style of the library documentation�it is now a road map to available libraries, showing code samples and describing the overall use. I�ll leave the lower-level details to RDoc.
Throughout the book I've tried to mark changes between 1.6 and 1.8 using a small symbol in the margin,1.8 like the one here. One change I didn�t make: I decided to continue to use the word we when talking about the authors in the body of the book. Many of the words there come from the first edition, and I certainly don't want to claim any credit for Andy's work on that book.
In all, this book is a significant overhaul of the first version. I hope you find it useful.
[ November 13, 2006: Message edited by: Jim Yingst ]