Anonymous methods

David Bruant bruant.d at gmail.com
Wed Jan 11 15:14:20 PST 2012


Le 11/01/2012 22:42, John J Barton a écrit :
> On Wed, Jan 11, 2012 at 1:04 PM, David Bruant <bruant.d at gmail.com
> <mailto:bruant.d at gmail.com>> wrote:
>
>     From your e-mail, it seems granted that "more developers
>     interested" is a good thing. I can't really say whether I agree or
>     not. So I guess I should ask the question: is more developers
>     interested a good thing?
>
>
> If your interest in language design ends with design, then No, it does
> not matter how many developers are interested.
>
> If your interest in language design extends to seeing that design in
> practice by millions of developers, then Yes it does matter how many
> developers are interested.
I think I disagree with the approach with which you're taking this
issue. From your response I understand that JavaScript language
maintainer are responsible for bringing more developers to the discussion.
To some extent, I agree and they actually do too apparently. There is an
open mailing-list, a wiki. Some of the TC39 folks go at conferences,
present what ES.next will be, present open questions, and do Q&A. So
far, I have probably seen 10 40-60 minutes-long videos of this kind over
the last 3 years.

But this is not enough? Features would also need to have cute names to
not scare developers? I'm sorry, but I think it's asking too much. I
think there is also an effort on the developers side to show interest in
the evolution of the language, understand its history, its flaws, etc.

I agree that bringing more developers to the discussion is a good thing
and I think the door is wide open for that. If anyone disagrees with
this, find es-discuss hostile in some way, please raise your concerns.
But there is also an effort on developers to be done. If someone stops
reading an idea just because of its name, I'm sorry, but this person is
not really motivated and I don't really know why hours should be spent
renaming a feature just to encourage people to read ideas.

>  
>
>
>     Language design and evolution of a language are not necessarily
>     things that are of everyone interest. I think that those who are
>     actually interested in the evolution of JavaScript read proposals
>     and strawmen regardless of how scary the name may sound.
>     If just the name of a proposal is enough to scare someone out,
>     then this person may just not be interested in the evolution of
>     the language... and that's perfectly fine.
>
>
> If you only care about proposals, sure. But if you care about seeing
> those proposals implemented you need to investigate the implementation
> process. It starts with an evaluation of cost/benefit: will the many
> person hours invested in block lambda implementation result in my
> browser developers using JavaScript block lambdas? Or should I put
> those hours elsewhere?
That's an interesting question. And I think that the developers who care
about the evolution of the language will provide valuable feedback.
Those who are annoyed by what changes when you turn a loop body into an
anonymous function as a forEach argument will speak up. Or not. But
those who care will tell you. And you'll never hear about those who
don't care and since they don't care, it does not matter that much.

And then, there is the fence. Those who are "sort-of-interested". I
would say that their own motivation is what will put them on what side
of the fence.

Motivation-based selection is a good way of selecting people. Have a low
entry-barrier and let those who care come to you, rather than trying to
bring everyone to you.
I have observed several such systems at work and have always been amazed
by how efficient it was.

The remaining question is "how low should the barrier be?" and in this
case "should proposal names be changed to stop scaring some people
out?". This is where I would say "no", because I consider that the name
of a proposal is not enough to demotivate someone who care. This is
subjective (and of course, I am also not in position of making a
decision anyway :-p ).

In order to lower the barrier to entry, why not considering starting to
translate the wiki in Mandarin, Spanish, French, Portuguese? There are a
lot of developers IN THE ENTIRE WORLD who do not bring feedback just
because they are not proficient enough in English. They will be affected
by changes made to the JavaScript language.

On the good side of thing, English-speaking developers still have the
ability to read the strawman written in English even if "Lambda" sounds
latin to them. They just need to click the link. How low is the barrier
for them?


>  
>
>
>     Besides naming, I think that the important thing is explaining
>     what these names are about. Brendan Eich gave a presentation on
>     proxies at JSConf.eu. Before that, who in the JS community was
>     aware of what proxies are? Not a lot I would guess.
>     This presentation helped explaining the idea and sharing some
>     knowledge on what "reflection" is. In my opinion, this kind of
>     sharing is more important than the fact that the feature is named
>     "proxy" or "tartanpion".
>     I did some of it when documenting WeakMaps on MDN [1].
>     The article you mention does this work too. There is no
>     explanation on what a lambda is, but it does explain what
>     JavaScript anonymous functions lack and how "block lambda" would
>     be an improvement.
>
>     As long as there are people doing this, names are not really
>     important I think.
>
>
> Of course I disagree. "Block Lambda" is like "sodium lauryl ether
> sulfate": a technically correct name with complex connotations
> unrelated to the end-users need.
>
> Good names are hard to design, but they are important.
Good ideas are hard to understand, regardless of their name and I think
it's important for people to make the effort to understand the idea and
forgetting about the label it carries.
If "block lambda" were called "anonymous method" or "first-class block"
or "callable blocks", would that help to better understand the
underlying idea? The problem it solves? how it is different from
"anonymous functions"? I don't think so, it would just be a slightly
less scary label.

David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20120112/812863d5/attachment.html>


More information about the es-discuss mailing list