Smalltalk Best Practice Patterns

ASIN: 013476904X
Average Customer Review: 5.0, based on 18 reviews.
Customer reviews (5 of 18)
Great for understanding why smalltalk code is written like it is, 2007-02-13, Rating: 5.
I have just recently started looking at smalltalk and like many people (being used to c++), when starting out in smalltalk, just going through the code didn't actually tell me much about anything, it's hard to find where anything is actually being done. After reading this book this task was significantly easier, the reason is simple, after going through this book one gets a much deeper understanding about why the code is split the way it is and gains a real insight into why this is a better approach than the usual C++ style with 100-200 lines of code methods. Kent Beck's writting makes the book a very nice read, must admit i was actually sorry when i finished it.
The Zen of OO, 2006-02-17, Rating: 5.
I wish more Java/C#/C++ programmers would read this (and maybe even learn Smalltalk) so that they can appreciate the weaknesses in those languages and possibly in their practices that they might not even realize today. I certainly did. While Robert Martin and others have offered up some of the canon of good design for contemporary developers, this little gem really reveals the "feel" of good OO.
Missable, 2005-07-31, Rating: 2.
I'm always looking for ways to make coding work better, at any level from nanosecond arithmetic operations to decade-long enterprise operations. I didn't find much of use here, but there were a few good points here (very few). Let me start with those.
The "Execute Around Method" pattern is good idea, applicable far beyond this Smalltalk context. The Beta language has "inner" inheritance, which makes the idea easy, but most other languages lack a good mechanism for undefined logic between matched operation pairs (open/close, setup/cleanup, etc.) "Enumeration" is another good one, enshrined as "Visitor" in the Gang of Four book.
Most of what's left is either trivial or Smalltalk-specific and face it, Smalltalk is mostly a cult language with nearly no commercial significance. The Smalltalk pretty-printing and variable-naming rules, fatuous at best, are just not applicable to most langages. Some of Beck's "practices" are language features (like 'super'). Other "practices", like the long chapter on Collections, seem to describe standard library classes and messages. Yet others (e.g. Type Suggesting Parameter Name) correct language defects - Smalltalk chose to give up the error detection capability offered by variable typing. Beck tries to sneak it back in with variable naming conventions sort of like Microsoft's old Hungarian naming. Some of his suggestions are just dangerous, like that one that says a constructor should "half-way construct an object in one place, then pass it off to another to finish construction. (p.23)" This distributes an object's setup responsibility across its client classes, leaves unusable and incomplete objects floating around, and causes subtle exposures in multithreaded systems - I'd rip out any code I saw built this way.
The good news is that no new trees died to make my copy of this book - I got it used, and it's returning to the used market. At least my conscience is clean on that account, no matter what I'm doing to the poor guy who buys this book next.
//wiredweird
The "Execute Around Method" pattern is good idea, applicable far beyond this Smalltalk context. The Beta language has "inner" inheritance, which makes the idea easy, but most other languages lack a good mechanism for undefined logic between matched operation pairs (open/close, setup/cleanup, etc.) "Enumeration" is another good one, enshrined as "Visitor" in the Gang of Four book.
Most of what's left is either trivial or Smalltalk-specific and face it, Smalltalk is mostly a cult language with nearly no commercial significance. The Smalltalk pretty-printing and variable-naming rules, fatuous at best, are just not applicable to most langages. Some of Beck's "practices" are language features (like 'super'). Other "practices", like the long chapter on Collections, seem to describe standard library classes and messages. Yet others (e.g. Type Suggesting Parameter Name) correct language defects - Smalltalk chose to give up the error detection capability offered by variable typing. Beck tries to sneak it back in with variable naming conventions sort of like Microsoft's old Hungarian naming. Some of his suggestions are just dangerous, like that one that says a constructor should "half-way construct an object in one place, then pass it off to another to finish construction. (p.23)" This distributes an object's setup responsibility across its client classes, leaves unusable and incomplete objects floating around, and causes subtle exposures in multithreaded systems - I'd rip out any code I saw built this way.
The good news is that no new trees died to make my copy of this book - I got it used, and it's returning to the used market. At least my conscience is clean on that account, no matter what I'm doing to the poor guy who buys this book next.
//wiredweird
Milestone for Your Programming Life, 2002-07-30, Rating: 5.
SBPP has changed me. Kent Beck has changed me.<p>SBPP shed a new light on my previous knowledge of "patterns" in computer programming. I was deep in the DP tar pit. SBPP saved me. SBPP changed almost all my thoughts on programming. It has changed what I value, and how I pursue it.<p>Kent Beck says that he is not a great programmer but just a pretty good programmer with great habits. Build great habits with this book. Read and reread this book every morn.<p>If you have studied DP, this book will open your eyes to the wider world of patterns. You will think about DPs quite differently after this book. You will be able to escape from the bad effects of DP abuse.<p>If DPs were nouns, verbs and adverbs/adjectives, SBPP are articles and auxiliary verbs. SBPP are used much more frequently than DPs. When you learn a language it is very important to learn more frequently used words first. It could be less efficient(or even dangerous) to learn "appreciate" before "thank (you)".<p>--JuneKim
Real OO, not just for Smalltalkers, 2002-04-29, Rating: 5.
I wish I had read this book when I started getting into OO programming. This is OO to the max, at maximum granularity.<p>Beck's style is clear and concise, the patterns are understandable even by a non-senior Smalltalker like me.
