Pattern Languages

Description

A pattern language is a system of describing and applying individual patterns which generate some end. An individual pattern in the language assumes a certain state, and describes a transition to a new state. In other words, it takes something and changes it a little bit. For example, a pattern language for architecture might describe how to place windows in a room, or how high a ceiling should be, given the type of room (office, bedroom, cathedral).

Architectural pattern languages are described by Christopher Alexander et. al. in a three volume set: The Timeless Way of Building, A Pattern Language and The Oregon Experiement.

Usefulness

The usefulness of a pattern language depends on the quality of it's patterns. The term quality is a label representing a wholistic list of attributes including such things as comfort, usability, practicality, convenience, satisfaction, calmness, assistance, joy and many other important aspects. Continuing with a simplistic architectural example, a pattern which puts tiger traps in every room is not a quality pattern. On the other hand, a pattern which demands sunlight on two sides of a room is, since that contributes to making people happy.

The process of determining which patterns have such quality is arguably an emotional, rather than logical, process. Alexander describes methods of generating architectural patterns which focus on what feels good, rather than on what is easy to construct with glass and concrete, or looks good on paper since such buildings are generally not condusive to the psychological well being of their occupants or neighbours.

I believe the term tao may be close to this sense of quality.

An important aspect of Alexander's position is that for the pattern language to be successful, it must be shared by a group of individuals. This is true at any scale; it is something of a fractal, or a continuum. While the patterns for a nation might have different explicit definitions, they must share a certain je ne sais pas with patterns used by town builders within that nation.

Applications

It seems reasonable to look for pattern languages in other fields of endeavour, from computer programming to basket weaving. For example, pattern languages, according to Alexander, exist in the construction phase of a building as much as in the planning phase. A building may have a wonderful, life-affirming plan and then be executed in stark concrete and razor wire, resulting in a construct which only casts gloom over people's lives. Thus, engineering blurs with craftsmanship with gut feelings.

Questions

How do engineering and the tao coexist?

What is the relationship among the number of people sharing a pattern language, the quality of that language, and it's overall validity?