[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Language Marketing (was: What design is: 911 vs. Fleetwood)

On Fri, 14 Dec 2001, Paul Graham wrote:
> MSFT (and many companies before
> them) show that a sufficiently crafty and ruthless company
> can shove bad design down the market's throat.  But we
> weren't talking about business strategy.  We were taking
> about design.

Design IS business strategy.  Designing and delivering a product good for
a particular market(1) and getting word out to that market makes people
happy, and, if that product has network externalities(2), getting word
out to that market IS what makes people happy.

Office applications have powerful network externalities, so, in some
sense, MSFT marketing rather than its products are indeed what makes
people happy.  That is why you get people saying things like:
"No one ever got fired for choosing MSFT/IBM/____."

Of course, they be happier with a better product, but network
externalities and risk aversion trump most possible benefits that
might come from switching.

To bring this back to language design; you should design a language for a
population to whom you can market effectively.  If that language is to be
used in a commercial setting, then that population may be PHBs.  If that
language is for hackers to use on their own projects, thats fine too.
However don't assume that PHBs interests are necessarily aligned with
hackers.  For example, PHBs may be concerned with:
* the availability of libraries for a particular task (developers may
  prefer to roll theirown)
* a plan/opportunity to merge/collaborate with a different organization (a
  plan for which the developer may be ignorant)
* development environment and pricing advantages provided by platform
  vendors (get a discount if you use C# or if you use PL/SQL)
* the cost of planned deployment environments (the PHB may prefer Linux
  because of a plan for an embedded version even though the developers
  like Visual Studio)
* etc.

The point is, you should design a language for yourself if and only if:
1. your tastes match those of some market or markets
2. you have a way of getting word to your markets
3. using your language is worth the switching costs for your markets
4. designing a language is the best way you can improve happiness.

So the question is, for whom are you designing Arc?  As for me, I plan to
design a language for people interested in lightweight languages :-).


1 A market is a set of people who believe that they share a set of needs,
and communicate with one another.

2 Network externalities mean that the product increases in value as more
people use it, and frequently that use of the product follow Metcalfe's
law.  Think phones and fax machines.

S. Alexander Jacobson                   i2x Media
1-917-783-0889 voice                    1-212-697-1427 fax