In October 1996, I was in San Jose, California attending the Object-Oriented Programs, Systems, Languages, and Applications (OOPSLA) conference when I first learned of Christopher Alexander. When Jim Coplien introduced Professor Alexander as a speaker, he explained he was a building architect and a major influence for one of the most read software engineering books of all time, “Design Patterns” by Gamma and others. At that moment, I had no idea how much Christopher Alexander would influence my future thinking.
Many years later I went back to re-read Christopher Alexander’s OOPSLA speech. In the speech, Mr. Alexander made it clear he was not convinced that software designers understood his ideas. Here’s an excerpt from the speech:
“I understand that the software patterns insofar as they refer to objects and programs and so on, can make a program better. That isn’t the same thing, because in the sentence ‘better’ could mean merely technically efficient, not actually ‘good’. “
He was right. Using design patterns to build software products did not create products that were “good”, but the audience at OOPSLA and software designers everywhere missed his main point.
I recently learned that Christopher Alexander died on March 17 at age 85. When I heard the news, I checked to see if there was anything new from him that I might have missed. I found a documentary with interviews, Christopher Alexander – Life in Buildings, where he explains that when he finished the pattern language for buildings, he thought he solved the problem of making good human environments. He learned that was not true.
While his ideas found a broad audience, unfortunately software designers did not really understand them. In the documentary, Mr. Alexander says that nine out of ten development projects that are being done now devastate the area where they are built. He calls this – the spread of ugliness. I see the same situation in software where we continue to build software products that do not connect with people and are clumsy and difficult to use, where agile is a big contributor to the ugliness.
When I read The Nature of Order books, it completely changed the way that I look at software products. My one wish is that others in the software industry will take the time to read these same books. As Mr. Alexander says in his documentary, “What the nature of order is about is what does it take to make the things beautiful. Really and truly beautiful so that it touches you in the heart.” We did not understand his ideas in 1996 but my wish is that it will happen today.