Today, I began reading The Origins of Pattern Theory, the Future of the Theory, and the Generation of a Living World. It’s a transcript of Christopher Alexander’s keynote address at OOPSLA 1996. I’ve taken the freedom to break some long paragraphs into smaller ones for readability in these quotes, as indicated by [Break.]>

The idea that materialized in the published pattern language was first of all, of course, intended to get a handle on some of the physical structures that make the environment nurturing for human beings. And, secondly, it was done in a way that would allow this to happen on a really large scale. And, what I mean by that is that we wanted to generate the environment indirectly, just as biological organisms are generated, indirectly, by a genetic code. [Break.]

Architects themselves build a very, very small part of the world. Most of the physical world is built by just all kinds of people. […] How could one possibly get a hold of all the massive amount of construction that is taking place on Earth and, somehow, make it well, that means let it be generated in a good fashion and a living fashion. [Break.]

The decision to use a genetic approach was not only because of the scale problem. It was important from the beginning, because one of the characteristics of any good environment is that every part of it is extremely highly adapted to its particularities. That local adaptation can happen successfully only if people (who are locally knowledgeable) do it for themselves. In traditional society [it] occurred successfully because it was in the hands of the people that were directly using the buildings and streets. So, with the help of the shared pattern languages which existed […], people were able to generate a complete living structure. [Break.]

In our own time, the production of environment has gone out of the hands of people who use the environment. So, one of the efforts of the pattern language was […] to do it in a fashion which could be in everybody’s hands, so that the whole thing would effectively then generate itself.

For software, the environment is the code, and the people are the developers. Can the patterns approach be of use to people that aren’t as interested (or something) in the design as in creating functionality? (Perhaps Alexander’s approach is more easily mapped to the development of the user interface of the application, but that isn’t necessarily a separate activity – both parts can benefit the other: ideas from programmers can also make it into the interface.)

Whenever we had a [pattern] language under development we always asked ourselves, To what extent does that language generate (hence produce) entities (buildings, rooms, groups of buildings, neighborhoods, etc.) that are whole and coherent? In other words, suppose I write a pattern language for a campus, and, I think I’ve got some sort of a language that looks as though it will actually do the job. To test it, I let it loose by giving it to people and asking them (in simulated form) to generate different campuses with this language.

Here, I’m wondering if it ever will be meaningful to create pattern languages for entire systems: after all, building architecture is very constrained compared to software. Anyway, I’ll definitely return with more from this as I have time to read the rest of it.

The above was posted to my personal weblog on June 19, 2003. My name is Peter Lindberg and I am a thirtysomething software developer and dad living in Stockholm, Sweden. Here, you’ll find posts in English and Swedish about whatever happens to interest me for the moment.


Related posts:

Posted around the same time:

The seven most recent posts:

  1. Tesugen Replaced (October 7)
  2. My Year of MacBook Troubles (May 16)
  3. Tesugen Turns Five (March 21)
  4. Gustaf Nordenskiöld om keramik kontra kläddesign (December 10, 2006)
  5. Se till att ha två buffertar för oförutsedda utgifter (October 30, 2006)
  6. Bra tips för den som vill börja fondspara (October 7, 2006)
  7. Light-Hearted Parenting Tips (September 16, 2006)