Hi folks,
If you haven't already heard, my book "Ruby Best Practices" is now available in print!
The whole manuscript will be made freely available under a creative commons license in March 2010, but now is the time to buy a copy if you want to support my efforts as well as O'Reilly for publishing it.
== Where to buy
It should be showing up in stores now, as I confirmed it's available here in New Haven, but if you want it online:
Directly from the publisher:
Amazon (likely cheaper, but less $ goes to me that way
== What is the book like?
It's probably not like any other Ruby book you've read. It isn't a reference book or tutorial, but instead, more like commentary you'd expect to hear in a code review. RBP walks through a whole bunch of real open source code, and tries really hard to keep the balance tipped towards realistic examples rather than contrived ones.
It isn't a list of rules or patterns, instead, it tries to drive home the importance of context in problem solving by using a lot of case studies. It's meant to be read by the chapter, so it won't make for an easy skim. But if you sit down with your favorite reference book[0] on your desk, and your development environment at the ready, it should be an enjoyable read.
It is a Ruby 1.9 book, but most of the techniques should work fine in Ruby 1.8.6.
The book is split into 8 core topics and 3 appendices. These cover:
* Test Driven Development * API Design * Dynamic Ruby (Metaprogramming, DSLs, etc) * Text Processing and File management (IO, regex, etc) * Functional Programming Techniques * Debugging / Troubleshooting * M17N / L10N (Globalization) * Project Maintenance (rake, Rubygems, rdoc, etc)
* Some Ruby 1.8 <-> 1.9 compatibility tips * Ruby's Standard Library (Quick sample of 10 libs) * Ruby Worst Practices
If you're curious how these chapters are organized, you can look at a free copy of a pre-production version of the metaprogramming chapter: http://cdn.oreilly.com/books/9780596523008/Mastering_the_Dynamic_Toolkit.xml.pdf
== Target Audience
Anyone who wants to improve their craft as Ruby developers. While it may not be suitable for a raw beginner, it will be useful to anyone who has completed a small project in Ruby, and downright fun for a more seasoned Ruby hacker.
== Questions?
Just let me know what's on your mind. I'd be happy to answer whatever questions folks might have about the book.
-greg
[0] Either the Pickaxe or "The Ruby Programming Language" should do the trick. If you're more of a Ruby beginner, be sure to read David Black's "Well Grounded Rubyist" as well.