The problem with a forgiving and flexible language like Ruby is that programmers can accomplish much with it, without ever getting down to the nitty-gritty. While this benefits one's productivity, it may also lessen the motivation to learn more, which will ultimately hinder innovation. "Programmers can usually muddle through a program and get stuff done even if they don't really understand what's going on," observes David Flanagan, the bestselling author who has teamed up with Ruby creator Yukihiro "Matz" Matsumoto to produce his newest book, The Ruby Programming Language (O'Reilly, US $39.99).

"Our book documents the language in depth," says Flanagan, "and my hope is that it will help programmers (even those who already program with Ruby) to really master the language and sharpen their Ruby programming skills."

The Ruby Programming Language is positioned to be the authoritative guide to Ruby, with comprehensive coverage of versions 1.8 and 1.9 of the language. "I believe this is the first book to cover version 1.9," notes Matz. "While David was writing the book, the core Ruby team, including me, changed the language often. It was a tough job to write a book on a target moving so fast. It's really a great accomplishment."

The book also features original drawings by artist and Ruby programmer extraordinaire, why the lucky stiff.

According to the authors, the book is an updated and expanded version of Ruby in a Nutshell also by Yukihiro Matsumoto. It is loosely modeled after the classic text, The C Programming Language by Kernighan and Ritchie, and aims to document the Ruby language comprehensively but without the formality of a language specification. It is written for experienced programmers who are new to Ruby and for current Ruby programmers who want to achieve mastery of the language.

The Ruby Programming Language begins with a quick-start tutorial and then explains the language in detail from the bottom up, covering:

Lexical and syntactic structure of Ruby programs

Datatypes and objects

Expressions and operators

Statements and control structures

Methods, procs, lambdas, and closures

Classes and modules

Reflection and metaprogramming

The Ruby platform

In addition, a through introduction to the rich API of the Ruby platform demonstrates Ruby's facilities for text processing, numeric manipulations, collections, input/output, networking, and concurrency.

"Flanagan has assembled a comprehensive reference manual for Ruby, spelunking its depths and then putting it all together in a treasure map that everyone will want to use."
-Evan Phoenix, creator of the Rubinius implementation of Ruby

For a review copy or more information please email kathrynb@oreilly.com. Please include your delivery address and contact information.

David Flanagan is the author of a number of O'Reilly books, including Java in a Nutshell, Java Examples in a Nutshell, Java Foundation Classes in a Nutshell, JavaScript: The Definitive Guide, and JavaScript Pocket Reference.

Yukihiro Matsumoto ("Matz"), the creator of Ruby, is a professional programmer who worked for the Japanese open source company, netlab.jp.

Additional Resources:
For more information about the book, including table of contents, index, author bios, and cover graphic, see the catalog page: The Ruby Programming Language.

About O'Reilly

O'Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O'Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying "faint signals" from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.