[self-interest] Architecture and Programming
cramakrishnan at acm.org
cramakrishnan at acm.org
Tue Dec 5 17:33:32 UTC 2000
> Both programming and architecture must satisfy functional and human needs.
I not sure i completely agree. I think user interfaces to programs
must satisfy functional and human needs in a way somewhat similar to
architecture, but i don't think the structure of a program has to.
Besides, architecture is about structuring space, whereas software
architecture is about structuring ideas.
> But programming per se has little connection to architecture. Rather,
> computer science encompasses both programming and software architecture.
> It is possible to do architecture without programming, even if this is
> anathema to the Extreme Programming crowd and you can't get a job that
> way. And of course, requiring aspiring software architects to prove
> themselves as programmers makes as much sense as requiring building
> architects to prove themselves as draftsmen. Training as a programmer
> is actually a sure way to destroy the instincts of an architect. Too
> much technical knowledge hinders your ability to envision the human
Your analogy here presuposses that it makes sense to compare software
architecture to real architecture! :)
For the sake of argument, let's suppose it does make sense to compare
software design to architecture. Why do you compare the programmer to
a draftsman? Why not a structural engineer, or a mason, or whatever?
> The job of the programmer is to instantiate software based on abstact
> architectures. The job of the architect is to produce and improve
> abstract architectures from existing software. These are fundamentally
> different tasks.
I'm really not sure they are fundamentally different tasks.
Because architecture is about space and software about ideas, i think
it's a poor comparison. Personally, I think of software architecture
as closer to rhetoric, which, at least, is about the structure of
I don't even think architecture is a good metaphor for user interface
design. Industrial design is closer to UI design at the level of
which it has to take into account the capabilities and limitations of
> I read a good paper (can't remember where) on the uselessness of software
> reuse which explains that while the abstract architectures in two different
If you remember the reference, I'd like to hear it.
C. Ramakrishnan cramakrishnan at acm.org
More information about the Self-interest