<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Le 11/01/2012 19:10, John J Barton a écrit :
    <blockquote
cite="mid:CAFAtnWz_E_wfpEngG3cFPM8U4jsoc-7AE64ncV0w_QN7ueVCcA@mail.gmail.com"
      type="cite">The blog post  <a moz-do-not-send="true"
        href="http://yehudakatz.com/2012/01/10/javascript-needs-blocks/">http://yehudakatz.com/2012/01/10/javascript-needs-blocks/</a> makes
      the case for blocks that act like functions when passed as
      arguments but have loop-up rules more like nested blocks. 
      <div>
        <br>
      </div>
      <div>Of course these are called 'block lambdas', and I suggest
        that this is a problem. Given that very few programmers
        understand lambda calculus (and this will not change), the word
        'lambda' is equivalent to "too difficult to understand".   </div>
      <div><br>
      </div>
      <div>When I looked up lambda on <a moz-do-not-send="true"
          href="http://en.wikipedia.org/wiki/Lambda">http://en.wikipedia.org/wiki/Lambda</a> I
        read</div>
      <div><br>
      </div>
      <div><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)"> 
          In </span><a moz-do-not-send="true"
          href="http://en.wikipedia.org/wiki/Mathematical_logic"
          title="Mathematical logic"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">mathematical
          logic</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)"> and </span><a
          moz-do-not-send="true"
          href="http://en.wikipedia.org/wiki/Computer_science"
          title="Computer science"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">computer
          science</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)">,
          lambda is used to introduce an </span><a
          moz-do-not-send="true"
          href="http://en.wikipedia.org/wiki/Anonymous_function"
          title="Anonymous function"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">anonymous
          function</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)"> expressed
          with the concepts of </span><a moz-do-not-send="true"
          href="http://en.wikipedia.org/wiki/Lambda_calculus"
          title="Lambda calculus"
style="text-decoration:none;color:rgb(11,0,128);background-image:none;background-color:rgb(255,255,255);font-family:sans-serif;font-size:13px;line-height:19px">lambda
          calculus</a><span
style="font-family:sans-serif;font-size:13px;line-height:19px;background-color:rgb(255,255,255)">.</span></div>
      <div><font face="sans-serif"><span style="line-height:19px"><br>
          </span></font></div>
      <div><font face="sans-serif"><span style="line-height:19px">and
            then "Oh that is what they meant with all that
            'block-lambda' stuff".</span></font></div>
      <div><font face="sans-serif"><span style="line-height:19px"><br>
          </span></font></div>
      <div><font face="sans-serif"><span style="line-height:19px">If the
            discussion here were on a new ES feature "anonymous
            methods", then I guess many more developers would be
            interested. If this feature had the properties outlined in
            the blog post, then I think many developers would understand
            the value of this potential feature. As it is I guess they
            stop reading as soon as they see the word 'lambda'.</span></font><br>
      </div>
    </blockquote>
    <font face="sans-serif">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?<br>
      <br>
      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.<br>
      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.<br>
      <br>
      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.<br>
      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".<br>
      I did some of it when documenting WeakMaps on MDN [1].<br>
      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.<br>
      <br>
      As long as there are people doing this, names are not really
      important I think.<br>
      Another part (which is not that widely accepted at least in
      western countries) is also that people acknowledge when they don't
      know something and either go read or ask questions. I think I have
      asked here my fair share of questions and I have always been
      answered appropriately. I've never been thrown rocks at, or made
      fun of.<br>
      <br>
      In my opinion, everyone staying open-minded seems more important
      than choosing nice-looking feature names.<br>
      <br>
      David<br>
      <br>
      [1]
<a class="moz-txt-link-freetext" href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/WeakMap">https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/WeakMap</a><br>
    </font>
  </body>
</html>