[Tutor] The Gang of Four (was: A Book for You and Me)

Scot W. Stevenson scot@possum.in-berlin.de
Wed, 4 Sep 2002 11:48:32 +0200


Hello Sean,

> Yeah, it is expensive and so are all of the Addison Wesley books.  The
> main selling point is that almost all of them are good enough that
> numerous colleges use them as required texts for classes.  

And "Design Patterns" is written like a college book, in a terrible, 
deadly, dehumanized, and completely humorless prose that is the exact 
opposite of the clear, friendly style of writing that has helped make 
English the international language of science and technology. In fact, if 
you were to capitalize the nouns, make the sentences a bit longer and move 
the verbs to the end, "Design Patterns" could pass as a German college 
text. This is not a compliment: A lot of Germans in my biochemistry class 
were using American textbooks instead of German ones simply because of the 
style of writing.

As well structured as "Design Patterns" is and as great the insights might 
be (I don't claim to even understand a third of it yet), it is very much a 
book where you get the feeling that the people who wrote it are very, very 
serious, don't have much fun in life, and don't think their thoughts 
should be generally accessable. Also, the book is from 1995, and still in 
the first edition. I would expect OOP has progressed somewhat since then, 
so somebody should sit down and rewrite the whole thing to a) bring it up 
to date with current developments, b) humanize the prose, and c) replace 
the Smalltalk examples with Python. 

My suggestion to other amateur newbies is to wait with this book until you 
keep running up against terms like "Flywheel" and "Factory" and "Mediator" 
all the time - this book is far more in the science section of computer 
science, and you're probably going to want to read a whole lot of other 
stuff before you get to it. I occassionally take down my copy and am 
amazed how, say, it can take 15 pages of robotic prose to explain in very 
abstract terms what an iterator does, and how amazingly complicated they 
seem to be to implement in C++.

Simply put, this book is far too advanced for me, and I wish I had bought 
"Code Complete" by McConnell first and "Design Patterns" sometime in the 
future when I am able (and willing) to think about objects on that level 
of abstraction - and can stomach the prose. For Python beginners, this is 
definitely a "We read Knuth so you don't have to" (Tim Peters in the 
"Python Cookbook") kind of book. 

Y, Scot

-- 
 Scot W. Stevenson wrote me on Wednesday, 4. Sep 2002 in Zepernick, Germany  
       on his happy little Linux system that has been up for 1880 hours       
        and has a CPU that is falling asleep at a system load of 0.08.