is the obvious statement. It is also the boring one. Those of us who have been reading Alexander for a decade do not know how to apply NatureOfOrder
to software. Even the few people who have read NatureOfOrder
can not explain how to apply it to software. The whole point of the NatureOfOrder
pages is to figure out how NOO could possibly apply to software!
has never intended to talk about software. Nevertheless, when many of us read TheTimelessWayOfBuilding
and a PatternLanguage
, we were struck by the many similarities with software. It wasn't just patterns, it was his emphasis on incremental development, on the need to include users in design, and on the dangers of money. The reason is that the limiting factor of design is people, not our materials. This is especially true of software, and so what he was saying applied to software.
The people who started software patterns almost uniformly believed that beauty in software is extremely important. We were attracted by Alexander's emphasis on beauty. In his later work on Persian rugs and "The Bead Game", he performed a bunch of experiments that indicated that beauty is objective, that there are some rules inside us that determine what is beautiful. He started trying to figure out what these rules are, and NOO is the result. Some of us were convinced by his earlier arguments about the objectivity of beauty, and others weren't, but we all found them interesting and would like to understand NOO as his attempt to give an objective description of beauty. The little I've seen of NOO raises as many questions as it answers. What does it mean? In other words, how can I apply it to a house or a painting? Does it really work? In other words, will everything built with those rules be more beautiful than things built without them? And last, but certainly not least for me, can we apply it to software?
Of course, if it doesn't really work, we don't have to worry about applying it to software. But even if it works for buildings, but we can't apply it to software, it will not be useful to use professionally. But I bet that if it works at all, it will have some relevance to software. After all, the hard part of software design is PEOPLE, and that is really what Alexander is talking about. Design of any sort is about people as much as it is about the thing you are designing. The rules of NOO must be hard-wired into our brain if they are really objective.
At the moment, the main issue is "what does it mean?" If you don't care, there are lots of other conversations you can join on the WikiWeb