A Pattern Language

In A Pattern Language, Alexander argues for the primacy of design patterns as a language for creation, against top-down theory.

What is a design pattern? A template for a solving problem that has evolved through bottom-up emergence. Often patterns do not belong to an articulated theory — they are just the way things are done.

Ideology and theory are poor models for complex systems. They don't model the second-, third-, fourth-order effects of design decisions. By contrast, a design pattern is found embedded in a real-world complex system. It is an existance-proof of what can work in such a system.

Alexander argues for the primacy of pattern in architecture and city planning, but his influence has probably been greatest in the software engineering community, where design pattern has become a term of art.

Key takeaway

If patterns are the alphabet for systems design, then you can craft designs that work by collecting, understanding and combining patterns.

A good design pattern

The book

The book is a catalog of interconnected, cross-referenced patterns at increasing levels of scale:

Where do patterns come from?

Alexander seems to think there is a through-line at the heart of all design patterns — a Zen-like property that can't be articulated through theory. He calls it The Quality Without a Name.

There is a central quality which is the root criterion of life and spirit in a man, a town, a building, or a wilderness. This quality is objective and precise, but it cannot be named.

A Pattern Language is actually the second of 3 books. In The Timeless Way of Building, Alexander attempts to articulate this Quality Without a Name. This was followed by A Pattern Language, where Alexander's goal is to point to this Quality by cataloging patterns that display it. Finally, The Oregon Experiment documents Alexander's attempt to put these ideas into practice while planning the University of Oregon campus.