Subject: Re: Design patterns as a weapon
From: Erik Naggum <>
Date: 1999/11/28
Newsgroups: comp.lang.lisp
Message-ID: <>

* Michael Schuerig
| I disagree with your premise.  You can't cut and paste patterns.

  huh?  I'm saying that people who aren't very good at abstraction write
  _code_ using cut-and-paste techniques and that patterns fit this mode.
  this is obviously different from cutting and pasting "patterns", which I
  find to be a nonsensical statement -- it's like saying that you can't
  copy somebody's idea because Xerox machines don't work that way.

| This notwithstanding, patterns do help abstraction. The abstraction is
| not expressible in the code itself, but it can be identified and
| documented. Before the advent of explicitly codified patterns these
| abstractions would most of the time have gone unnoticed! In this way,
| patterns pull the level of discourse toward more abstraction. This
| conclusion may not apply to the Lisp programming community, but it fits
| the C++ and Java communities very well (I can't tell for Smalltalk).

  I think you might want to read my article again, since this doesn't seem
  as if you're doing anything but try to re-phrase what I said in a light
  somewhat more favorable to patterns.

  incidentally, I'm strongly ambivalent on patterns.  I hate them if they
  are used to destroy our ability to solve problems once and for all
  without the need for the repetitiveness of reimplementing them verbosely
  all the time, and that is a recurring argument in their _favor_ by people
  who think that most complex problems don't actually _have_ solutions.  I
  love them if they are used to keep people who can't write good code from
  writing really bad code.  ideally, we should get rid of the people who
  can't write good code, and thus raise the average and our concept of what
  "can't write good code" means, then keep doing this iteratively until
  programming became a serious profession with social responsibility.