14 July 2008
Book review: Everyday Scripting with Ruby
Everyday Scripting with Ruby (for Teams, Testers, and You), by Brian Marick, is a good introduction to the Ruby language. Marick has a good conversational style that is not too cutesy like some other instructional texts I've read. The book is very textbook in that it develops everything step-by-step. It is geared toward the reader with very little knowledge of programming or scripting.
I also like how the scripts and projects that are developed are actually useful scripts to a software tester: an uninstaller checker, a script to gauge the amount of churn in a source control system, a website scraper script that extracts and data and reformats it to CSV, and a watchdog script. Interspersed between the chapters pertaining to the projects are chapters that go more in depth to the concepts that are presented in the project chapters. For example, in the discussion of CSV files, Hashes are introduced. In the following chapter, Marick shows all kinds of things that one can do with a Hash that was not covered.
Marick also introduces quite well the concept and practice of test driven development in his discuss of Test::Unit. He demonstrates the thought process of writing the basic script assuming Ruby provides everything, then writing tests for methods that need to be constructed, and then scripting the methods themselves.
I have finished reading the book but I am still working the exercises. The publisher's website has discussion and errata that have been very helpful.
This book is definitely a good way to get started in Ruby. I've definitely gotten interested in the language because of it, and I can't wait to start honing my skills more. 9 out 10.