"Pattern Hatching"
Ned Konz
ned at bike-nomad.com
Wed Nov 27 04:12:12 UTC 2002
On Tuesday 26 November 2002 07:25 pm, Richard A. O'Keefe wrote:
> I've just been reading the book "Pattern Hatching: Design Patterns
> Applied" by John Vlissides, Addison-Wesley 1998, ISBN
> 0-201-43293-5.
>
> I have come away from this with two overwhelming impressions:
>
> (1) Here is a better than competent OO programmer,
> and C++ is fighting him every inch of the way.
Luckily (?), he's now working mostly on Eclipse plugins (at least
that's what he told me on the monorail at OOPSLA).
> Example after example is basically "how do I design-hack a way
> around such-and-such a limitation of C++."
Yes, but the original Design Patterns book was like that too. There
are patterns in there that are trivial or unnecessary in Smalltalk.
> I've always been fairly positive about patterns, and I've
> taught them to students. This book, by one of the GoF, made me
> wonder. The examples strike me as Heath Robinson-ish; is this
> because of pattern-think, or is it because of C++?
(Note to some US readers: Heath Robinson did drawings similar to Rube
Goldberg)
Don't you think that (for instance) the C++ template system and
especially its (excessively?) clever use by the STL rates as a more
than a bit Heath Robinson-ish?
> It would be really illuminating to see some of his examples
> revisited by a better than competent Smalltalker, because I
> think you'd end up with a completely different set of patterns
> being applied, or the patterns would look different.
Or some wouldn't be there, as you note:
> POOF! An entire pattern disappears up its own fundament if
> your environment can represent code as data and can run dynamically
> generated code.
Is this something that would be interesting/useful for your students?
"See how patterns only make sense in their original (often unstated)
context: watch how I make this one go away by a different language
choice..."
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
More information about the Squeak-dev
mailing list
|