Back to Developer Resources.
At this time we are only recommending two books, one on the Ruby programming language and the other on Rails web framework which uses Ruby.
There are relatively few books on the Ruby programming language, although given the increasing popularity, this will likely change soon. But Programming Ruby: The Pragmatic Programmers' Guide, Second Edition is far and away the best of the small bunch and will likely keep the top spot as the competition grows. This book is well-regarded among Ruby aficionados and is known as "the pick-axe book" due to the picture that appeared on the cover of the First Edition, a theme that was continued on the Second Edition's cover.
Often programming books fall into one of two categories — tutorial or reference. This book not only serves both roles, it serves both roles well. This book is big — 864 pages — and filled with information. Seasoned Ruby programmers and those new to the language will likely have this book sitting on their bookshelf.
The book is organized into four parts. The first part, spanning 13 chapters, is the tutorial. It covers not only the basics of the Ruby language, but even heads into areas not normally seen in tutorials, such as unit testing, multi-threading, and running multiple processes.
The second part occupies the next 8 chapters. It brings together a number of add-on topics. Some of the more notable are the RubyGems package management system, building GUI-based programs with Ruby TK, accessing C code/libraries from within Ruby, web services, and the RDoc code documentation system.
The third part is a reference section on the language, covering Ruby in detail. And the final part documents the various libraries that come with Ruby or that you can install easily to extend the power of Ruby and your reach as a programmer. Together these two parts comprise another 7 chapters.
Dave Thomas (not to be confused with the founder of the Wendy's fast food chain) is a gifted technical writer and the lead author of Ruby Programming. This book is well-organized, nicely written, and laced with humor. It is a model for others who intend to write a text on a programming language, and its popularity is well-deserved.
Be sure to get the Second Edition, as the Ruby language has changed somewhat and the libraries have grown considerably in the four years between the First and Second Editions.
This books is not currently available, and is scheduled to be released in November 2006. It is the Second edition of a very good book with a slightly different title, The Ruby Way (see below). Although the First Edition is still available, it is somewhat out of date, and we recommend that you wait for the release of the Second edition.
Assuming it's like the First Edition (which is a pretty good bet), this will be more of a "recipe" book. It will take some typical programming and scripting tasks and shows you how to approach them using Ruby. This is very useful to those new to Ruby and object-oriented programming, as Ruby has powerful features which other common languages, including other object-oriented languages, do not have. Understanding these features and knowing how and when to apply them will make you a much better Ruby programmer.
By Bruce Tate. Review not written yet.
Note: The Second Edition was released in early December, 2006. Be careful to avoid purchasing the First Edition by mistake, which is now out of date.
Dave Thomas, the author of Programming Ruby and David Heinemeier Hansson, the creator and lead developer of Rails, combine their talents to create the first and best book on the Rails web development framework — Agile Web Development with Rails, Second Edition.
The book is structured much like Programming Ruby. The first part of the book is a tutorial that takes the reader through an extended real-world example. The latter part of the book acts as a reference.
The tutorial's real-world example is a shopping cart based e-commerce site, and it is developed incrementally over 8 chapters. This is a full application; both a customer and an administrative web interface are created for the site. You will be pleasantly surprised at how little effort it takes to bring up the basic functionality of the site and then how easy it is to extend and customize it. Those who are familiar with other development frameworks for database-driven dynamic web content will be even more impressed.
The Rails reference is comprehensive, describing the various classes and methods that you will leverage to build your web site and tie it to a database back-end. The reference section also discusses a number of topics that are highly practical, such as integrating Ajax functionality into your web application, sending and receiving email from/by the web application, and exposing your application via web services. The reference section also covers two very important topics for any Rails web application that will be released to the wilds of the Internet — security and scaling up a web application's deployment across multiple servers.
by Chad Fowler. Review not written yet.
By David Black. Review not written yet.
Web applications developed with Rails have the option of taking advantage of Ajax. This book covers the more common and successful Ajax frameworks, including Prototype, Rico, and Scriptaculous.
Just as it's helpful to get book recommendations, it might also be useful to know which books might not be the most useful. A few of these books made this list for being out of date, but they may move up to the recommended list when a new edition comes out.
The Ruby Way, First Edition: The only reason this book is not recommended is that it was published in 2001 and is severely out of date. A Second edition (see above) with the slightly altered title Programming the Ruby Way has been announced for November 2006.
Ruby In A Nutshell: A good quick reference book written by the creator of Ruby, Yukihiro Matsumoto. It is not designed to teach the language, however. Details in the book are pretty sparse, and it's a bit out of date.
Ruby Developer's Guide: This is an advanced recipe book, ambitious in what it attempts to tackle. Unfortunately, it's not current and poorly edited.
Sams Teach Yourself Ruby in 21 Days: This books aims at being a introductory text. It moves more slowly and is far less thorough than Ruby Programming. And because it was published in 2002, it is somewhat dated.