Peter Lindberg has posted a nicely considered piece on computer architecture and it’s relationship to the general meaning of architecture, including this definition by Fred Brooks whom he entered into correspondence with on the topic:
“Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Architecture must include engineering considerations, so that the design will be economical and feasible; but the emphasis in architecture is on the needs of the user, whereas in engineering the emphasis is on the needs of the fabricator.”
I would contend that great architecture has it’s emphasis on the end-user – at least, on the end-user alone.
The emphasis is on the needs of the culture it is to embed itself within; via the consideration of site, place, history, context, ecology, arcology, archeology, climate (interacting with climate both to modify it for it’s inhabitants and it’s immediate external context) and the aesthetic / symbolic impact it may have. Also, the consideration of the end-user’s needs (in architectural terminlogy, the programme of the space) is done with this cultural-embedding in mind. How does the programme mesh with it’s surroundings? Do the end-users of the space feel part of a continuum, whether rural or urban; or isolated and hermetically-sealed off from their surroundings.
Can this extend into software? Clay’s situated-software meme scratches the surface of the above – it’s throwaway in most cases: coop-himmelblau or archigramesque digital urban intervention, not digital architecture or digital urbanism.
What would computer and software architecture that was truly analagous to architecture be like?