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

Re: bindings and assignments (was: Re: continuations)




   X-Sender: swm@mta.itasoftware.com
   Date: Thu, 21 Aug 2003 15:45:39 -0400
   To: Guy Steele - Sun Microsystems Labs <Guy.Steele@sun.com>
   From: Scott McKay <swm@itasoftware.com>
   Subject: Re: bindings and assignments (was: Re: continuations)
   Cc: Guy.Steele@sun.com, swm@itasoftware.com, dbtucker@cs.brown.edu, 
dherman@ccs.neu.edu, sk@cs.brown.edu, ll1-discuss@ai.mit.edu
   
   At 3:06 PM -0400 8/21/03, Guy Steele - Sun Microsystems Labs wrote:
   >
   >
   >With all respect, I think you underestimate the difficulty
   >of getting a radically new programming language accepted.
   >
   >We did look beyond the user feedback, and at it, and made
   >what we still regard as a reasoned pragmatic choice at the time.
   >
   
   I probably don't underestimate it by much, having spent
   a good portion of my life having failed, even though what
   I have had the good luck to work on has been quite good.
   I still think, based on what evidence I am able to collect,
   that Java did not achieve acceptance based mainly on the
   features it has (or does not have).  It was accepted because
   Sun expended a huge amount of effort (not to mention money)
   promoting Java and the things built from it, and wisely
   positioned it against the nightmare that is C++.
   
   There is no convincing evidence I have seen that leads me
   to think that Java would have been more, or less, widely
   accepted had its glaring faults and omissions been addressed.

There is another point.  Java had a number of other glaring
faults and omissions in 1995, and we fixed those before releasing it
in 1996.  (Because we fixed them, you may never have known what we
fixed.)  And we had finite resources, facing an apparently finite
window or opportunity. We had to make hard choices about what to fix
before releasing it.  Method call overload resolution was a mess;
we fixed it.  Generic types were debated, but didn't make it in.
Unicode support was added; tail calls were not.  And so on.

And you're right: we were not out to win over the Lisp programmers;
we were after the C++ programmers.  We managed to drag a lot of them
about halfway to Lisp.  Aren't you happy?

--Guy Steele