Too terse and too alien?
Maurizio Cimadamore
maurizio.cimadamore at oracle.com
Tue Jun 1 03:05:55 PDT 2010
On 01/06/10 09:07, Howard Lovatt wrote:
> Rémi Forax forax at univ-mlv.fr Sat May 29 07:14:34 PDT 2010 wrote:
>
>> I've tried a swearword but legal:
>>
>> #()(#(){}).();
>>
>> The compiler knows more slang words than me :)
>>
> Rémi comment, whilst very amusing, is a little worrying. Also there are
> already a number of negative comments, e.g.:
>
> http://groups.google.com/group/javaposse/browse_frm/thread/54ab72091a1ffe95
>
>
> and
>
> http://www.baptiste-wicht.com/2010/05/oracle-pushes-a-first-version-of-closures/comment-page-1/#comment-2023
>
>
> Anyone else worried about the reaction of Java developers who are not so
> involved with lambda dev? Is the syntax too terse and too alien?
>
> -- Howard.
>
>
Hi Howard,
I admit than I'm relieved in seeing that syntax is the biggest problem
the current prototype has ;-)
Jokes aside, I think that there's a conceptual mismatch between language
consumers and language designers; this is not the first time we are
exposed to it; for instance Gilad's words [1] do a pretty good job
(while I don't necessarily agree with them, see below) in proving the
point that language designers are typically concerned about semantics
(e.g. will this new feature interact nicely with other existing
features? Will this new feature irreversibly break the existing
programming model?), while language consumers are usually concerned
about syntax and ease of use. The truth lies, as often it's the case,
somewhere in between; in fact, a carefully designed language feature
with an awful syntax it's just as useless as a beautifully cooked
language extension that reveals a huge type-safety flaw.
Back to lambda, the decision to support the strawman syntax was mainly a
pragmatic one; that syntax has the advantage of being an LL(1) grammar,
easy to parse, very good for rapid prototyping; at this stage, where (as
you can see from other messages in this mailing list) many 'deep'
details still need to be flushed out, we decided to stick with a minimal
syntax we all agree (sorta) upon. This could give everyone the
opportunity of playing with the prototype a bit, finding out both flaws
and merits.
[1] - http://blogs.sun.com/gbracha/entry/developing_modules_for_development
Maurizio
More information about the lambda-dev
mailing list