How to support Uncle Fatty with books
From StoneHome
Gang of Four is one of my favorite CS books; getting it changed me significantly as a programmer. The book isn't so much about the patterns contained within; most programmers will know 30-80% of these behaviors already (though the remainder are often eye-opening.) The book is more about learning to see generalized behaviors in a concrete format, giving you a good example format with 23 well-chosen examples. That said, almost every old dog will learn a few new tricks from the set of examples provided; the commonality of the behaviors listed in this book continues to surprise me years after its first read. Another major benefit of familiarity with this work is that it gives one a much higher-level vocabulary in which to discuss specific designs, though still in a language-abstract fashion. GoF isn't language specific, though its examples are mixed between C++ and SmallTalk. Many people consider this book one of the modern classics in computer science. Highly recommended. This book goes very naturally with Refactoring, and is almost a prerequisite to Modern C++ Design; the book is so influential that it has spawned an entire genre of books on patterns in a given field, and more than one series of pattern catalogs, including the notable Pattern Languages of Program Design series.
Dewhurst is a strange, interesting, somewhat exasperating book. This is a collection of items, in some ways similar to the Meyers trio or the Sutter Trio, but shorter, less general, more language-oriented, and frequently more difficult to follow. Dewhurst is an engaging writer, but some of the examples he gives regard problems difficult enough that clarity isn't really an option (the goto switch in fascicle 6-or-so pops to mind.) This is a good book to own, but it's not an early C++ book; this should wait until one has other C++ experience under their belt.


