Saturday, July 28, 2007

Christopher Alexander's keynote speech at OOPSLA 1996

One of my acquaintances sent me this link to OOPSLA 1996 keynote speech - "The Origins of Pattern Theory - the Future of the Theory, And The Generation of a Living World by Christopher Alexander".

I'm on road so I just write my impression of reading it briefly. It is ironical that his good intension was misunderstood and misused. When did referring to his work start to prevent software developers from reacting to what's happening to the code at hand and from building software generatively, like in Agile way?

In the next last section of this blog, I just paste excerpts from his speech, which I found interesting.

--------

I don't know hardly anything about what all of you do.

I didn't really understand what had been going on, and that my work had somehow been useful to computer science.

When I faced the question of addressing you, I wondered what on earth I should talk about.

That local adaptation can happen successfully only if people (who are locally knowledgeable) do it for themselves.

one of the efforts of the pattern language was not merely to try and identify structural features which would make the environment positive or nurturing, but also to do it in a fashion which could be in everybody's hands, so that the whole thing would effectively then generate itself.

(Bear in mind, as you hear my comments, that they need to be taken with a grain of salt; I'm ignorant; I'm not in your field.)

We were able to judge patterns, and tried to judge them, according to the extent that when present in the environment we were confident that they really do make people more whole in themselves. Of course you may ask, How in the hell did you test for that? But that is too long a story which I cannot cover in this speech. The important point is that such testing was going on continuously.

We were looking for the extent to which, as a whole, a pattern language would produce a coherent entity.

(1) the moral capacity to produce a living structure and (2) the generativity of the thing,

It seemed to me that we had fallen far short of the mark that I had intended.

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.

The comparable view, in software design, would tell you that a program which is objectively profound (elegant, efficient, effective and good as a program) would be the one which generates the most profound feeling of wholeness in an observer who looks at the code.

The important thing is that -- in architecture -- this is not merely a hunch but a testable empirical result. It means that the objects that are most profound functionally (when I say objects, I mean buildings, streets, door knobs, shelf, room, dome, bridge) the objects that are most profound functionally are the ones which also promote the greatest feeling in us.

If there really is a way of looking at structures which both deals with real functional structure in the ordinary technical and practical sense, and simultaneously has its roots in human feeling, there will be a very huge and positive step.

recursively

That is what happens in all the living structures we think of as nature. When you analyze carefully just what's going on and how things are happening in the natural world, this sort of structure preserving transformation tends to be what's going on most of the time. That is why, when nature is left alone, most of the time living structure is produced.

I have, for many years, thought that this could only be solved by a genetic approach -- an approach where deep structure, spread through society, creates and generates the right sort of structure, very much as genetic code creates and generates organisms and ecological systems -- indirectly, by letting loose life creating process.

If these software packages are life creating, and accepted, and widely enough spread throughout the world, there is a chance we might get a grip on this problem: provided that the software is freeing, liberating, allows each person individual control and decision making power to do the right thing, and to create living structure, locally, wherever they are.

the process by which one discusses these kind of things, shares ideas about them, gradually influences the way people are thinking so that gradually larger and larger percentages of bits of the environment might turn into living structure.

When I had the pleasure of beginning to meet some of the various folks who introduced themselves to me over the last year and a half from the software community, I began to be fascinated by the number of them that were closet architects. Greg Bryant who worked on the 486 chip, is really interested in ecology and is an editor of Rain, an ecological magazine. Bill Joy is writing about workstations in the concrete physical sense that is familiar as an architect. John Gage, chief scientific officer of Sun, is interested in neighborhood schools, and in the process by which people can repair their own physical neighborhoods by working together. Jim Coplien is dealing with social structures in human organizations. Mark Sewell from IBM wants to build houses. Dick Gabriel has as his deepest passion, the writing of poetry: another kind of art. I don't have a long enough list.

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.

When a paradigm change occurs, in a discipline, it is not always the members of the old profession, who take it to the next stage.

I want you to help me. I want you to realize that that problem of generating living structure is not being handled well by architectural planners or developers or construction people now, and the Earth is suffering because of it. I believe there may be no way that they are ever going to actually be able to do it, because the methods they use are not capable of it. For you it is different. The idea of generative process is natural to you. It forms the core of the computer science field. The methods that you have at your fingertips and deal with everyday in the normal course of software design are perfectly designed to do this. So, if only you have the interest, you do have the capacity and you do have the means.

What I am proposing here is something a little bit different from that. It 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.

No comments: