Anonymous methods

Nathan Stott nrstott at
Wed Jan 11 15:19:12 PST 2012

Are we in 2012 seriously saying the word "lambda" is scary to developers?
This sounds ridiculous. The word lambda is widely used by programmers in a
variety of communities.

On Wed, Jan 11, 2012 at 5:14 PM, David Bruant <bruant.d at> wrote:

>  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> 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 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
>> 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
> _______________________________________________
> es-discuss mailing list
> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list