Design Philosophy
fashions. (Try looking at the haircuts in an old high school
yearbook.)Good design is timeless, and if you want something timeless
you can’t pander to the limitations of some hypothetical
“average” user. It’s too vague a target. It’s also a
moving target: the average
user might not be as stupid as you think.Look what happened with the 911. It’s
so obviously superior to the Cadillac that a child could
tell it’s better. And so,
by the 1980s, even the
drug dealers that the
Cadillac was designed for wanted
911s instead.The same thing happens in languages. The great languages
have been the ones that good programmers designed for
their own use– C, Smalltalk, Lisp. The languages that were consciously designed for “average”
programmers (Cobol, Pascal, Ada) have tended to be
evolutionary dead ends.The only reliable plan is to design for performance. Performance
doesn’t mean speed; that’s taking the metaphor too literally.
Speed counts, but a programming language is first of all a tool
for thinking in. We want thinking in Arc to feel like driving a 911.(I’m not claiming it will, just that that’s the target.)


