Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the scene in the Western world, the Pragmatic Programmers were there with the definitive reference manual, Programming Ruby: The Pragmatic Programmer''s Guide. Now in its Second Edition, author Dave Thomas has expanded the famous Pickaxe book with over 200 pages of new content, covering all the new and improved language features of Ruby 1.8 and standard library modules. The Pickaxe contains four major sections: 1)An acclaimed tutorial on using Ruby. 2)The definitive reference to the language. 3)Complete documentation on all built-in classes, modules, and methods. 4)Complete descriptions of all 98 standard libraries. If you enjoyed the First Edition, you''ll appreciate the new and expanded content, including: enhanced coverage of installation, packaging, documenting Ruby source code, threading and synchronization, and enhancing Ruby''s capabilities using C-language extensions. Programming for the world-wide web is easy in Ruby, with new chapters on XML/RPC, SOAP, distributed Ruby, templating systems and other web services. There''s even a new chapter on unit testing. This is the definitive reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including more than 250 significant changes since the First Edition). Coverage of other features has grown tremendously, including details on how to harness the sophisticated capabilities of irb, so you can dynamically examine and experiment with your running code. "Ruby is a wonderfully powerful and useful language, and whenever I''m working with it this book is at my side" --Martin Fowler, Chief Scientist, ThoughtWorks
Review By: Mike Cohn 02/20/2006"Programming Ruby" covers all of the basic syntax and operations, as well as the different ways you may wish to use Ruby--in an interactive shell, as a Web language, with a user interface, and so on. Authors Thomas, Fowler, and Hunt delve deep into the aspects of the language. The last three hundred plus pages feature a typical but well-done library reference.
This book has a clean layout that works well, considering its over eight hundred pages. I appreciated the lay-flat spine, which came in handy when typing source code examples. Before I finished the first section, I had developed a feel for the language and was able to start writing my own simple programs that went beyond the examples given. Next, I dove into the chapters that were most relevant to my immediate needs. From there, I started writing the programs for which I wanted to use Ruby.
The authors'' writing style is very clear, concise, and direct. Examples and explanatory text are of an appropriate length. I never felt that the authors were talking down to me. The book read like they were sitting next to me, explaining new concepts. There is not much information specific to QA or testing, so I would not recommend buying a copy solely for that angle. There is one short chapter on how to unit test your Ruby programs. Another chapter describes how to use a Ruby extension to automate Windows applications. Ruby makes a good scripting language for the testing of Windows programs.
I would recently become bored with programming. Writing one more Java program did not get excite me anymore.
The book "Programming Ruby"--and the Ruby language itself--has re-ignited my passion for programming. If Ruby does become "the next big thing," then this book will certainly be in every Ruby programmer''''''''s library. It''''''''s that good. This book belongs on the shelf of anyone interested in this powerful language.