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.