Monday, February 23, 2004

Christopher Alexander on programming 

Christopher Alexander has some very intersting ideas on programming that mesh very well with the ideas the Bryan and I are working on for evolving workflow structures
Yet to date, there is little recognition of the following commonsense point: If indeed the programs are so complex, then it is likely that they, too, will be potentially subject to hundreds of thousands, perhaps millions of egregious mistakes of adaptation. Here I am not only talking about “bugs” --- failures which stop a program from running altogether. I am talking about mistakes of adaptation, ways in which the program fails to do what it is supposed to do, fails to meet the needs of the people who use it, or is more awkward, more annoying, less useful, than it is supposed to be. If the analysis given in this chapter is correct, then it is fair to say that truly successful programs can only be generated; and that the way forward in the next decades, towards programs with highly adapted human performance, will be through programs which are generated through unfolding, in some fashion comparable to what I have described for buildings...

Of course I am in favor of small steps, of adaptation through trial and error, and of what we may call evolutionary adaptation. But this is not the central point at all. After listening to all these computer scientists’ comments, and taking them to heart, I realized that I had failed, in my lecture, to emphasis the real essence of all generated structures. The real essence lies in the structure-preserving transformations which move the structure forward through time, and which are primarily responsible for the success of the generating process. The needed transformations are not merely trial-and-error steps, or some neat way of continually checking and making things better...

To assume that the point of generated structures is merely slow, step-by-step evolutionary adaptation, is to make the same mistake that early adherents of Darwinism made in biology --- to assume that small steps alone, modification coupled with selective pressure, would be sufficient to get a genotype to a new state, hence to create entirely new organisms ... and so on. This does not work, and it is now widely recognized not to work, because it lays too little emphasis on the (hitherto) unknown transformations which actually do the hard work of moving the evolving organism through stages that lead to its coherence and its geometric beauty in the emerging genotype.

Links to this post:


Comments: Post a Comment

This page is powered by Blogger. Isn't yours?