Tesugen

Christopher Alexander’s OOPSLA ‘96 keynote is quite fascinating. Software patterns capture proven ideas in a convenient format, and surely you hear the idea that if you’re savvy about patterns and use them frequently, your software will be well-architected. (One of the early papers on patterns, by Kent Beck and Ralph Johnson, was titled Patterns Generate Architectures; I guess I should re-read that one.) In the keynote, Alexander says that his idea of pattern languages goes well beyond that: it was intended to generate “living structure [and] coherent wholes”, even when applied by laymen.

Alexander mentions that he, after having worked for a while with pattern languages, found out that they didn’t succeed:

[T]he buildings generated [by people using the patterns] were okay, but not profound. [–––] I […] realized that whatever was going wrong wasn’t going to be corrected by writing a few more patterns or making [them] a little bit better. There seemed to be something more fundamental that was missing from the pattern language.

At about the same time I began to notice a deeper level of structure and a small number (fifteen) of geometric properties that appeared to exist recursively in space whenever buildings had life. These fifteen properties seemed to define a more fundamental kind of stuff; similar to the patterns we had defined earlier, but more condensed, more essential – some kind of stuff that all good patterns were made of.

These were simple ideas. [P]roperties like “boundaries” which will not only delineate but connect the inside to the outside, or “positive space,” as when you look at a Matisse cutout and see that the space between the colored paper is not amorphous but also has form.

These fifteen principles seem hard to swallow, but an immense amount of work has gone into them. For instance, Alexander has conducted experiments to verify that the presence of the fifteen principles in an object is empirically testable. People have been shown two objects and asked which of them makes them feel “more whole” or “more alive”. He writes: “it turns out that there is quite a striking statistical agreement, 80-90%, very strong, as strong a level of agreement as one gets in any experiments in social science.” In addition, he has written a series of four books about this, titled The Nature of Order: An Essay on the Art of Building and The Nature of the Universe. (The books have a website.)

So, it doesn’t seem to be mere aesthetic principles. And the following claim (also from the keynote) is stunning:

Compared to the pattern language that you’ve seen in A Pattern Language [Amazon.com] these generative schemes are much more like what you call code. They are generative processes which are defined by sets of instructions that produce or generate designs. They are, in fact, systems of instructions which allow unfolding to occur in space in just the way that I was talking about a minute ago […], and are therefore more capable of producing living structure. The published pattern language by comparison is static. The new generative languages are dynamic and, like software, interact with context, to allow people to generate an infinite variety of possible results – but, in this case, with a built-in guarantee of well-formed results. The design that is created is guaranteed, ahead of time, to be coherent, useful, and to have living structure.

He talks about paradigms and how the major players of the old paradigm aren’t the major players of the new paradigm. He says that architects may never realize this and suggests that programmers should become the new architects, by creating software that embodies these patterns and generative languages to support builders:

What I am proposing here is […] a view of programming as the natural genetic infrastructure of a living world which you/we are capable of creating, managing, making available, and which could then have the result that a living structure in our towns, houses, work places, cities, becomes an attainable thing. That would be remarkable. It would turn the world around, and make living structure the norm again […]

I wonder what was said during the Q&A. I’ve never read any of his books, despite having had them on my list of books I want to read for years, but I guess I have to, now. I wonder which I should start with.

The above was posted to my personal weblog on June 23, 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.

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)
Bloggtoppen.se