function types syntax
Lawrence Kesteloot
lk at teamten.com
Wed Jan 6 10:14:36 PST 2010
On Wed, Jan 6, 2010 at 3:41 AM, Zdenek Tronicek <tronicek at fit.cvut.cz> wrote:
> So far I thought that we all have the same priorities for closures syntax:
>
> - readability (they are easy to understand),
> - intuitiveness (one does not have to learn them for weeks),
> - completness (the syntax proposed should involve all the use-cases).
> [- compatibility]
>
> Anything else is far less important.
You forgot "correctness", which is actually at the top. I do not want
readable syntax at the expense of a broken compiler. Having to
implement complex features like closures and generics in half a dozen
compilers and pseudo-compilers will decrease the chance of correctness
and portability. (If you get a chance, read through the javac sources
to see just how much incomprehensible code is littered throughout to
get generics to work. It's frightening. When I added list
comprehensions, the bulk of my frustrations were with getting the
feature to work with generics, despite the fact that I was working at
a level where they were supposed to have already been erased.)
To put this another way, imagine the GWT project being started after
1.7 is out, rather than when 1.4 was out. Would they have:
1. Aimed for 1.4 compatibility, guaranteeing that none of their active
code could be compiled (because of 1.5 features, generics, and
closures).
2. Aimed for 1.7 compatibility, making their task even more daunting.
3. Scrapped the whole project.
I suspect 3, though of course we'll never know.
I'm not arguing to scrap closures. I'm arguing against the repeated
arguments on this list that Java == JDK and as long as we have a
single working implementation, then we're done.
Lawrence
More information about the lambda-dev
mailing list