
Implement common design patterns, including the original GoF patterns, in the burgeoning Ruby programming language.
I moved from C# to Ruby, and along the way I read Design Patterns in Ruby[1] (which I highly recommend), and it went through several of the patterns I used to have to apply in C# to make it workable, and it would then show me they weren't needed in Ruby because of the structure of the language. Maybe C# has improved in these kind of things, but things like that matter when developers are also expensive and you want to crank out features.
My thoughts exactly. I loved it so much I emailed the author and - embarrassingly - told him he was the Mark Twain of programming books! He replied and was also very embarrassed by the comparison.
Or maybe that was for his other book, Design Patterns in Ruby, I don't remember as I try hard to forget the details of embarrassing moments. I'm still waiting for a Lacuna-like company to arise and help me forget them all…
Still, either book is well worth a read, both are top of my recommendations. If he (Russ Olsen) ever writes one about Haskell then perhaps it'll finally go mainstream :)
I had managed to get a job as a Java developer a long time ago, but at that time all I could do was barely write toy apps in Java and I had no exposure to stuff like design patterns. The whole experience left me in a bad place. Now after all these years, Ruby feels like a breath of fresh air, and the texts that I have come across on the subject - Design Patterns in Ruby, Practical OOD in Ruby, Ruby under a Microscope etc. have increased my interest in the language.
But more and more frequent articles on Ruby's decline are pretty disheartening.
I learned a lot about Rails from Michael Hartl's Ruby on Rails Tutorial book.
I learned the most through doing, though. I would work on building my own website and looked up anything I didn't know.
There are several other books that have tried to explain the GoF's Design Patterns in either an easier to approach manner, or in the context of a specific language they have tried to explain where new design patterns have emerged or the original patterns had mutated.
A couple of those worth checking out are
"Head First Design Patterns"
http://www.amazon.com/Head-First-Design-Patterns-Freeman/dp/...
"Design Patterns In Ruby"
http://www.amazon.com/Design-Patterns-Ruby-Russ-Olsen/dp/032...
"Learning JavaScript Design Patterns"
http://www.amazon.com/Learning-JavaScript-Design-Patterns-Os...