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

Re: why tail recursion matters and why Java isn't it, was Re: lisp performance was Re: problems with lisp




   Date: Thu, 04 Sep 2003 21:54:45 +0200
   From: Pascal Costanza <costanza@iai.uni-bonn.de>
   To: Guy Steele - Sun Microsystems Labs <Guy.Steele@sun.com>
   Cc: matthias@ccs.neu.edu, ll1-discuss@ai.mit.edu

   > But if by "a matter of
   > taste" you mean that what leads to greater productivity may differ
   > from one programmer to another, then that is an objective matter that
   > is in principle subject to measurement, and one can furthermore ask
   > other questions, such as: if one were to choose a single aesthetic
   > category and force everyone to use it, which choice of category
   > would maximize total productivity?  Or, if we can afford to support
   > at most three aesthetic categories, which set of at most three
   > would maximize totla productivity?
   
   Why would you want to force someone to use a single aesthetic category? 
   Why would you want to limit the number of admissible aesthetic categories?

The usual ugly pragmatic constraints.  It costs money to support
multiple categories, for a variety of reasons, ranging from the
cost of testing the extra software for the multiple categories
to the cost of programmer A not being able to maintain the code
of programmer B when he gets hit by a bus.

   If the success of specific aesthetic categories varies from one 
   programmer to another, wouldn't it be best to let everyone decide 
   themselves what aesthetic category to use in order to maximize 
   productivity? Of course, it should be a well-informed decision.
   
   The problem with the state of computer science today isn't that everyone 
   uses Java. The problem is that everyone thinks that there should be only 
   one language.

I certainly don't think that---but I also don't think
that having a separate language for every programmer
is the optimal design point, either.  I suspect that
the optimum is somewhere in between.  Maybe 700 programming
languages is the right number.*

--Guy Steele

* History quiz: ten brownie points to whoever first correctly
explains why I chose the number 700 here.