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

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

On Thursday, August 21, 2003, at 03:57 PM, Guy Steele - Sun 
Microsystems Labs wrote:

>    On Thursday, August 21, 2003, at 10:41 AM, Guy Steele - Sun
>    Microsystems Labs wrote:
>> Actually, the prototype implementation *did* allow non-final
>> variables to be referenced from within inner classes.  There was
>> an outcry from *users*, complaining that they did not want this!
>> The reason was interesting: in order to support such variables,
>> it was necessary to heap-allocate them, and (at that time, at least)
>> the average Java programmer was still pretty skittish about heap
>> allocation and garbage collection and all that.  They disapproved
>> of the language performing heap allocation "under the table" when
>> there was no occurrence of the "new" keyword in sight.
>    I find this very ironic. It is too bad that programmers who do not 
> use
>    Java *because* it doesn't have closures were not asked about this
>    issue, instead of those programmers who were already willing to make
>    such a compromise. This decision insured that this potential new
>    audience's desires will not be met.
> Some such programmers were asked, and we got a number of reactions,
> including, "Ugh, bletch, even if you support full closures, they'll
> be really ugly with all that syntax...  I'm sticking to Lisp!"

If you ask me (which I know you didn't :-) ) I'd vote for some 
syntactic sugar before full closure support. I think that a lot of Java 
programmers that have no background in Lisp or Smalltalk will never 
appreciate the benefit of lambdas/blocks until they're as easy to type 
as an if statement or for loop.

BTW this is my first post so I'll introduce myself. I'm Tim Moore, and 
I live in the Washington, DC area. I work as a Java programmer, but I 
wish I could work in Smalltalk. :-) My background is actually in Common 
Lisp (and to a lesser extent, Scheme), which I used a lot in school, 
but never for money.
Tim Moore