On Christopher Alexander (was: Patterns and Compositionality)

Massimo Dentico m.dentico@teseo.it
Fri, 28 Jan 2000 21:13:22 +0100

Jim Little wrote:
> This is exactly the point I was trying to address in my original post:
> Massimo Dentico wrote:
> > *if* the substitution process (generalizing/inlining) for
> > patterns  in  OOD is  equivalent  to the substituition process  in
> > functional/logic  languages  (pattern  matching) [...]
> It is not equivalent.
> Design patterns in OOD are not substituted, generalized, or inlined.
> The concept has no meaning for design patterns.  Design patterns are a
> way of communicating knowledge.  They're written in natural language for
> use by human observers.  To use a design pattern, you read it,
> internalize it, and intuit its applicability to your design.  Good
> design is a matter of communication and understanding, not
> functionality, and as such it simply can't be formalized or automated.
> As a tool for communicating "good design," neither can design patterns.
> Comparing design patterns to pattern matching in functional languages is
> a fallacy.  They are not comparable.
> Jim
> PS: I'm not trying to address the rest of the discussion -- I'm just
> trying to clear up a pretty strong misunderstanding about the nature of
> design patterns.

About possible "formalization" of patterns, this post could  have
as  subject:  commercial  vulgarizers(?)  considered  *extremely*

Jim, I suggest to read this: "SOME NOTES ON CHRISTOPHER ALEXANDER.
By  Dr. Nikos  A. Salingaros,   mathematician   and  architectural
- http://www.math.utsa.edu/sphere/salingar/Chris.text.html

IMHO   is    an  extremely  interesting  reading.   It  completely
rehabilitates the subject of patterns to my eyes.  So,  thanks for
the discussion.


Dr. Alexander  is the author of numerous books and papers.  He has
initiated  a new approach to architectural thinking,  in which the
same set of laws  determines the structure of a city;  a building;
or a single room.  He has spent most of his life  in searching for
these laws.  His approach to solving this universal problem  takes
advantage  of  scientific reasoning,  and totally  opposes  other,
               ^^^^^^^^^^^^^^^^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
unscientific approaches based on fashion,  politics,  or arbitrary
personal ideas. This is so different from the way architecture has
been taught since  the second world war  that it causes  conflicts
with established architectural schools.
Alexander  offers  definitive solutions  to the problems  of urban
architecture and design.  It is a great pity  that these  were not
adopted when first published.  Fortunately,  a small number of his
ideas   have  been   incorporated   into   the   "New   Urbanism".
Nevertheless,  this very recent movement  by no means represents a
wholesale  application  of  his  results.  Alexander  has actually
abstracted the process by which organic and inorganic forms evolve
-- which is  the same process  that governs  the growth of a city.
These results  lie at  the basis  of  how matter organizes  itself
coherently,  and are the opposite of the modern planning  approach
in  which  grids,  zones,  roads,  and  buildings,  based  on some
preconceived design on paper, are imposed on human activity. These
results will be expounded at length in the four-volume  The Nature
of Order, which is now being prepared for publication.


One  of the most influential  persons  in the "Patterns Movement",
James Coplien  has  posted  a  History of Patterns,  and  is doing
pioneering  work on applying patterns to human organizations  (see
next  section).   He also has  embarked  on a search  for the deep
geometrical  structures  in software  that correlate with "beauty"
and   "order"   in  architecture  and  nature.   This  fascinating
development,  based  on Alexander's The Nature of Order,  is being
documented  in a series  of articles  published in the C++ Report.
They are all accessible from the index site Geometry In Code.

Pattern  languages have been developed  for many  diverse specific
disciplines  that relate  to computer science,  such as individual
applications  and  computer-human  interfaces.   Tom Erickson  has
collected  links  to Pattern  Languages  for  Interaction  Design.
These  include  user-interface  pattern  languages.   The  pattern
language developed by Jenifer Tidwell is especially comprehensive,
and  addresses the problems inherent  in the design of any complex
or  interactive  artifact.  Although,  as  in all  links  in  this
section,  this  is written  by  a computer scientist,  it  in fact
answers  questions about general design first raised in the 1960's
(by people such as B. Archer,  C. Jones, H. Rittel,  and H. Simon)
that were judged to be too complex to solve.

Certain  computer scientists  have taken Alexander's ideas  beyond
their initial application to the internal organization of computer
programs,   into  the  software  development  process  itself.  As
^^^^^^^^               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Alexander's  results are entirely general,  they also apply to the
internal structure  of organizations  and corporations.  This very
exciting development  is now growing rapidly into  an entirely new
business  discipline.  Such an innovative (and  entirely  logical)
application  of Alexander's results could start  a new approach to
organization in the commercial  and government sectors.  There are
very strong hopes  at this time  that an Alexandrine  analysis and
application of organizational patterns can redesign corporations.

Massimo Dentico