<div dir="ltr"><br><div>Has anyone ever done any /science/ on what makes a language easily learned, especially by children?</div><div><br></div><div>Making language design decisions based on similarity to existing popular/trendy languages reminds me of that joke about the drunk looking for his keys under a lamppost. When asked where he might have dropped them, he gestures off into the darkness. When asked the obvious question about THAT, he defends his search strategy by saying that he's looking here because the light is stronger.</div>
<div><br>To find the keys, we might be better off letting our eyes adjust to the dark. That's what science is for: controlling conditions so that something that's hypothesized can become distinguishable against background noise. One nice thing about such an approach is that we can often break out of habits of thought that have obscured reality by noticing something we didn't expect, popping out against that background.</div>
<div><br></div><div>A very cool thing about the web is that enables this kind of research as never before. Iterating over the standard core concepts and styles in programming languages, one might propose syntax and semantics for each concept, provide a code snippet for it, throw it out to many untutored eyes and ask, "What do you guess this would do?" We might frame each of these snippets with a theory about what works, only to discover that the misconceptions that arise about it are telling us something very interesting about some other aspect of coding entirely, not the one we're trying to explore.</div>
<div><br></div><div>The results of such experiments might finally put to rest (in the minds of the rational, anyway) many of these syntax religion conflicts, which are mostly about as silly as the war between Blefescu and Lilliput. Such a research program might also answer long-standing questions about much deeper issues in programming language design, such as why it's been so hard to pin down a definition of "object-orientation" that's both pleasingly intuitive and semantically rigorous.</div>
<div><br></div></div><div class="gmail_extra"><br clear="all"><div>Regards,<br>Michael Turner<br>Executive Director<br>Project Persephone<br>K-1 bldg 3F<br>7-2-6 Nishishinjuku<br>Shinjuku-ku Tokyo 160-0023<br>Tel: +81 (3) 6890-1140<br>
Fax: +81 (3) 6890-1158<br>Mobile: +81 (90) 5203-8682<br><a href="mailto:turner@projectpersephone.org" target="_blank">turner@projectpersephone.org</a><br><a href="http://www.projectpersephone.org/" target="_blank">http://www.projectpersephone.org/</a><br>
<br>"Love does not consist in gazing at each other, but in looking outward together in the same direction." -- Antoine de Saint-Exupéry</div>
<br><br><div class="gmail_quote">On Mon, Aug 11, 2014 at 9:08 AM,  <span dir="ltr"><<a href="mailto:ok@cs.otago.ac.nz" target="_blank">ok@cs.otago.ac.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class=""><br>
> We do Potion which is a new language on the BEAM+OTP with a Lua inspired<br>
> syntax instead. This would have many benefits:<br>
><br>
> - It would make it much easier for a large group of programmers to get<br>
> into<br>
> the erlang fold.<br>
<br>
</div>Where is the evidence for this?<br>
<br>
If Luerl didn't achieve it, why would Potion?<br>
<div class=""><br>
> - The syntax would be simpler that elixir and would avoid some of its<br>
> idiosyncrasies.<br>
<br>
> - Lua is a fun language to start with.<br>
<br>
</div>Did you ever have the feeling that when you got up in the morning<br>
you stepped into the wrong parallel universe?<br>
I've had Lua on my Macs for years.<br>
About once a year I stumble across it by accident while searching<br>
for something else, and say "oh YEAH, I forgot about that, time to<br>
put it to use."  I then download the latest release, re-read the<br>
manual, wake up, finish re-reading the manual, and when I've<br>
stopped yawning, go and do something more enjoyable, like marking<br>
or cleaning the bathroom.<br>
<br>
As far as I can see, the two virtues of Lua are<br>
<br>
(1) Lua the *language* is a small ho-hum language with a<br>
    small embeddable implementation that you can easily hook<br>
    into and use as an extension language.  That's presumably<br>
    why LuaTeX exists.<br>
<br>
(2) Lua the *system* comes with things like luarocks and a<br>
    useful library of user-contributed extensions like i18n.<br>
    This is the bit I personally find attractive, or would<br>
    if I couldn't get the things I want in other languages.<br>
<br>
A language that is only Lua-*like* sacrifices pretty much all<br>
of (2), which is to say sacrifices most of the reason why I<br>
would ever consider using Lua for anything.<br>
<br>
Perhaps the most ho-hum aspect of Lua is its heavy dependence<br>
on mutable state, making error handling the familiar terror it<br>
was before Erlang.<br>
<br>
It might not be unfair to describe Lua as a small Javascript<br>
done right and luarocks as npm.  If the same engineering work<br>
of making Javascript less of a dog had been put into Lua...<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>