views:

245

answers:

4

For the past 10 years or so there have been a smattering of articles and papers referencing Christopher Alexander's newer work "The Nature of Order" and how it can be applied to software.

Unfortunately, the only works I can find are from James Coplien and Richard Gabriel; there is nothing beyond that, at least from my attempts to find such things through google.

Is this kind of discussion happening anywhere?

MSN

A: 

ARGH. I guess I proved my point.

MSN

Mat Noguchi
A: 

Question may need clarification.

Brian Leahy
A: 

Conferences are a great place to find discussions like this, such as PLoP http://hillside.net/plop/2008/), which is co-located with OOPSLA (www.oopsla.org) this year. PLoP = Pattern Languages of Programs. But I'm sure you mean, especially in this day and age, having a discussion online.

Georgia
+2  A: 

@Georgia

My question isn't about design patterns or pattern languages; it's about trying to see if more of Christopher Alexander's work can be applied to software (which it probably can, since it has even less physical constraints than architecture and building).

Design patterns and pattern languages seem to have embraced the structure of Alexander's design patterns, but not many capture the essence. The essence being something beyond solving a problem in a particular context.

It's difficult to explain without using some of Alexander's later works as a reference point.

Edit: No, I take that back.

For example, there's an architectural design pattern that is called Alcoves. The pattern has a context that isn't just rooted in the circumstances of the situation but also rooted in fundamentals about the purpose of buildings: that they are structures to be lived in and must promote living in them. In the case of the Alcove pattern, the context is that you want an area that allows for multiple people to be in the same area doing different things, because it is important for family members to be physically together as well as to be able to do things that tend to distract other family members.

Most software design patterns describe a problem in a context, but they make no deeper statement about why the problem is important, or why the problem is something that is fundamental to software. It makes it very easy to apply design patterns inappropriately or blithely, which is the exact opposite of the intent of design patterns to begn with.

MSN

Mat Noguchi