InfoQ

News

Review of The Ruby Way by Hal Fulton

Posted by Peter Cooper on Nov 03, 2006 10:25 PM

Community
Ruby
Topics
Programming ,
Ruby on Rails ,
Dynamic Languages
Tags
Releases ,
Book ,
Reviews

In 2001 Hal Fulton released The Ruby Way, only the second English language Ruby book available at the time. Since then Ruby has become popular in the West and with the help of Ruby on Rails has achieved significant critical success. With a significant number of enhancements and changes to the Ruby language and ecosystem of libraries and developers, Fulton decided a second edition was in order. That second edition of The Ruby Way, as published by Addison-Wesley, is now available.

For those unfamiliar with the first edition, The Ruby Way has a chapter for each major topic relating to Ruby with about ten to twenty sub sections each containing code examples of how to achieve a particular goal. Scanning through the contents pages is like scanning through a recipe book. Even though the book is not officially a "Ruby Recipes" book, it has a similar feel, with the added benefit that each code example demonstrates the most practical, and stylistically acceptable, route to a certain outcome.

The main topics the book covers are: Ruby concepts and syntax, strings, regular expressions, internationalization, math, dates and times, arrays, hashes and enumerables, data structures, I/O, metaprogramming, GUI development, threads, systems administration, data parsing, testing and debugging, distributing code, network programming, and the Web. Each section contains many 'recipes' and code samples.

With this cookbook style in mind, the book is not for beginners. Developers with experience of OOP could find the book useful to 'learn by example', but anyone unfamiliar with different languages, OOP and dynamic language features will find the book impractical to learn from. Fulton acknowledges this and squarely pitches the book at those who know at least a little Ruby but are looking for the way forward.

If you're not entirely convinced whether to buy the book or not, consider the kudos it has received from the highest echelons of the Ruby community. About the book, Rails creator David Heinemeier Hansson says, "Many of the early ideas for Rails were inspired by the first edition, especially what is now Chapter 11. It puts you on a roller coaster ride between 'How could I use this?' to 'This is so cool!' Once you get on that roller coaster, there's no turning back."

In the foreword, Matz talks about how he feels Fulton has come closest, in The Ruby Way, to expressing the 'Tao of Ruby'. With such a compelling recommendation by the creator of Ruby, the book is an easy purchase and should quickly become a much loved companion with your Ruby development in the coming years. The book's list price is $39.99 and is available directly from the publisher for $35.99 or via other booksellers such as Amazon.com.

No comments

Watch Thread Reply

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.