Software developers lament ``If only software engineering could be more like X ...'', where X is any design-intensive profession with a longer and apparently more successful history than software. It is therefore both comforting and troubling to discover that the same fundamental philosophical, methodological, and pragmatic concerns arise in all of these Xs (see, for example, [23,33,43,46,18,45,48,50]). In part because it is considered as much artistry as engineering, writings about architecture have most extensively explored and argued out the basic underpinnings of design. Even within this context, the ideas of the architect Christopher Alexander stand out as penetrating, and bear compelling implications for software design. Alexander is increasingly well-known in object-oriented (OO) design circles for his influential work on ``patterns''. This paper considers patterns within a broader review of Alexander's prolific writings on design. These include core books Notes on the Synthesis of Form, The Timeless Way of Building, and A Pattern Language (hereafter abbreviated as Notes, Timeless, and Patterns respectively), other books based mostly on case studies[15,3,6,7,8], related articles (especially [2,9]), and a collaborative biography. This review introduces some highlights of Alexander's work. The format is mainly topical, roughly in historical order, interspersed and concluded with remarks about connections to software design. It focuses on conceptual issues, but omits topics (e.g., geometry and color) that seem less central to software. Some discussions are abstracted and abbreviated to the point of caricature, and in no case capture the poetry of Alexander's writings that can only be appreciated by reading the originals, or the concreteness and practicality of pattern-based development that can only be conveyed through experience.
Mendeley saves you time finding and organizing research
Choose a citation style from the tabs below