> Patterns are all about picking paths due to the problem and situation > at hand, and for better or worse, the programming language is a big > part of the situation at hand. Most of the GOF book deals with the > issues raised by statically typed oo languages, and aren't as portable > as one might think. +2 The language itself IS a pattern/structure that will determine and/or enable patterns and structures! Frameworks/libraries will tend to enforce patterns and structures. Ruby is pretty open and fully object-oriented by design, while enabling you to do procedural things to objects. Rails is an example of a framework that really establishes and enforces particular patterns and structures. Simply by using code by others and using the language, you'll find a lot of these things quickly in Ruby. Some things are well established patterns in C / C++ books (searching & sorting algorithms) but they don't always make sense as Ruby since Ruby provides mechanisms that would be oh-so-much boiler plate code in lower-level languages.