[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What design is: 911 vs. Fleetwood
On Thu, Dec 13, 2001 at 01:39:10PM -0500, Christopher Barber wrote:
> > The "average programmer" is a fuzzy target, and vague
> > aims always lead to bad work.
> Yes, but who says that you have to have only one target prototypical
> programmer in mind? Designing anything with only one person in mind is
> usually stupid, whatever the product.
Actually, it isn't. It's the perfect way to design a product.
Detroit re-learned this lesson again recently with the Dodge Ram (IIRC).
Basically, if your target is 40% overall customer satisfaction, you can
build a truck that 80% of the market will like with 50% satisfaction, or
you can build a truck that 40% of the market will like with 100% satisfaction.
The first path is the conventional conventional wisdom, and it's a fallacy.
The second path is reality. However ugly and overdesigned that truck is,
it's very popular within Dodge's target market. It also accepts that
you're never going to get 100% overall satisfaction in a large market,
just in well-chosen market segments.
> If you design a language for yourself, you are least guaranteed that you
> will like it, and presumably others like you, but it would be foolish to
> assume that everyone will like it.
It would be foolish to assume that it's possible to design a language
that everyone will like. [*]
Furthermore, all of the great languages were designed with this
philosophy: Lisp, Forth, Smalltalk, C and Perl to name five
completely different ones.
We could argue on on what constitutes a "great language" for weeks
on end, but isn't it interesting that a large number of languages
being designed today are heavily influenced by one or more of these
five? And that each one was designed to meet the needs of a very
small audience of hackers?
*: Except for small values of "everyone", which reinforces Paul's premise.