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