[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.