9 of 10 people found the following review helpful
A practical intro. to learning SmallTalk the "hands-on" way.,
Verified Purchase(What is this?)
This review is from: Smalltalk, Objects, and Design (Paperback)
I bought this book to help me to follow articles and postings on the subjects of OO & patterns written by SmallTalk developers, and to understand the alternative that SmallTalk offers to the strongly typed OO languages such as Java and C++. My interest is therefore more on the "Objects & Design" side, rather than in learning to program in SmallTalk.
Overall this is a well written book, with clear explanations and a pleasant writing style that I found easy to read. There is a particularly clear explanation of different types of Garbage Collection algorithms. There are some other very nice explanations throughout the book, that tell you something that you probably knew already but in a remarkably clear way.
There were a few things that I didn't like:
SmallTalk is a small language, however it takes most of the book to introduce all the language constructs. I would have preferred to have the language constructs defined completely early on - it's small enough to do this - and then see them applied in the Objects & Design chapters.
I also didn't find the explanation of method arguments at all clear. I'm sure it is easy enough to work it out when you actually start to program - and this brings me on to my main criticism. The book forces you to program in SmallTalk as you read. It deliberately withholds basic information in order to make you find out for yourself. This makes it unsuitable for reading on a bus/train/'plane, and for those that like to understand the theory before they start to put it into practice.
Perhaps this is a matter of personal preference - and it does seem consistent with the "design by evolution" culture that has some prominent advocates from the SmallTalk camp.
I also found a few of the metaphors particularly laboured & unhelpful, e.g. "buys" which seems to mean has/uses/delegates to/aggregates/contains depending on context.
In conclusion, I got about 80% of what I wanted out of this book and it's an enjoyable read.
I can't say that I got the new insights into OO design that I was originally looking for, however if you want to learn SmallTalk it's a good place to start.