<div dir="ltr">In this vein, take a peek at Sam Aaron's talk from CodeMesh 2013 --> <a href="http://vimeo.com/85930562">http://vimeo.com/85930562</a><div>TL;DR --> The ability to generate music has kids writing Clojure in Emacs in virtually no time.</div>
<div>Ok. its a bit more than that - the kids don't particularly care about the "Clojure" part or the "Emacs" part - but they do, deeply, care about the "generating music" part - and the "Clojure" / "Emacs" part is just the means to the end.</div>
<div><br></div><div>As Ivan pointed out, the key is learner motivation, something that a lot of us have forgotten along the way.</div><div>Remember the awesomeness of Apple II and BASIC? Especially when you discovered what you could do with PEEK, POKE, and sprites? (Yes, dating myself)</div>
<div>Or the equivalent awesomeness of ASCII art and line-printers (Yes, more dating).</div><div>The point is - in both case, you didn't give a s**t about the _computer_ - it was computer games, and art, that was the key...</div>
<div><br></div><div>Cheers</div><div><br></div><div>p.s. For bonus dating-credit, the sheer-joy of realizing that the line-printers could be used to play music - depending on the line that was printerd, you could get different frequencies. Awesome! (The Indian National Anthem was one of the first things that you'd learn to play...)</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Aug 17, 2014 at 5:42 AM, Ivan Uemlianin <span dir="ltr"><<a href="mailto:ivan@llaisdy.com" target="_blank">ivan@llaisdy.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I agree with Richard about Javascript.<br>
<br>
It's like teaching human languages to school children. In the UK they tend to teach French, & maybe Spanish. The choice is not about "easy to learn" it's about motivation (or learner parent motivation --- i.e., holiday destinations. Some schools will teach think more about "jobs" and teach German, Japanese or nowadays Mandarin. Again the consideration is learner motivation).<br>
<br>
Targetting the browser platform is an easy way to provide motivation. It also promotes independent learning - as every computer has a web browser and a text editor.<br>
<br>
Ivan<br>
<br>
--<br>
festina lente<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> On 17 Aug 2014, at 05:53, "Richard A. O'Keefe" <<a href="mailto:ok@cs.otago.ac.nz">ok@cs.otago.ac.nz</a>> wrote:<br>
><br>
><br>
>> On 17/08/2014, at 3:56 PM, Michael Turner wrote:<br>
>> Has anyone ever done any /science/ on what makes a language easily learned, especially by children?<br>
><br>
> The Psychology of Programming Interest Group would be the right<br>
> people to ask about that.<br>
><br>
> For example, the PPIG2014 conference in June had a paper<br>
> "Educational Programming Languages: The Motivation to Learn<br>
> with Sonic Pi" by Arabella Jane Sinclair.<br>
> Check <a href="http://www.sussex.ac.uk/Users/bend/ppig2014/" target="_blank">http://www.sussex.ac.uk/Users/bend/ppig2014/</a><br>
><br>
><br>
>> 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?"<br>
><br>
> To be honest, I would not expect anything of value from that.<br>
> When I was learning to program, three common mistakes made by<br>
> others were<br>
> - treating "IF (expr) stmt" as a declarative "WHENEVER<br>
> expr becomes true, do stmt"<br>
> - treating "WHILE (expr) stmt" as a declarative "AS SOON AS<br>
> expr, stop doing stmt."<br>
> - treating "var = expr" as a declarative and assuming that<br>
> the order of such statements did not matter.<br>
> "Untutored eyes" found no real concept in the brain behind them<br>
> of what such things *might* mean. If someone doesn't "get" some<br>
> syntax, maybe they don't have the concept and wouldn't "get" it<br>
> no matter *what* the syntax was. To me it's obvious that<br>
> prices := items par collect: [:each | each totalPrice]<br>
> is a parallel map, but it *cannot* be understood by anyone who<br>
> doesn't already know what a parallel map *is*, and such a one<br>
> has already been exposed to some programming language, so dear<br>
> old "familiar = better" lifts its hoary head and starts biting again.<br>
><br>
> As a teenager, I was motivated to learn how to build ham radios<br>
> and did learn enough electronics to do so. I was *not* motivated<br>
> enough to learn Morse Code -- I could transmit on 144 MHz and<br>
> above without that -- so I didn't. (My licence lapsed years ago,<br>
> but I was ZL1TQW for a little while.) I and some others in the<br>
> school computer club were sufficiently motivated to learn<br>
> portapunch Fortran, *not* something ever designed to be child-friendly.<br>
><br>
> LOGO was learnable by schoolchildren, even ones sufficiently<br>
> immature to think that naming variables and procedures with<br>
> swearwords was funny. For that matter, micro-PROLOG was learnable<br>
> by schoolchildren.<br>
><br>
> With the possible exception of joke languages like Intercal and<br>
> Brain*uck, I suspect that "youngsters" can learn *any* programming<br>
> language their elders would be willing to use *IF* they want to,<br>
> and they'll want to if they believe that something of value to<br>
> *them* will be the outcome.<br>
><br>
> I hate saying this. No, it makes me *SICK* to say this, but<br>
> there is a sense in which the most learnable language at the<br>
> moment is Javascript. There's pretty much immediate payoff<br>
> from putting even a modest amount of Javascript into a web page.<br>
><br>
>> 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.<br>
><br>
> Now *that* I believe. The one software engineering experiment I<br>
> tried, where the research question "are nice_identifiers easier<br>
> to read than uglyNastyOnes" didn't get answered, but "are students<br>
> willing to read 2 pages of code without a syntax-colouring editor<br>
> and a debugger" was. (The answer was "no.")<br>
><br>
>> The results of such experiments might finally put to rest (in the minds of the rational, anyway) many of these syntax religion conflicts,<br>
><br>
> Bet you $50 it doesn't happen in my lifetime?<br>
><br>
> One problem is that programming languages are tangled up<br>
> with libraries and application areas. People are always<br>
> going to think "Foo [which happens to provide extensive<br>
> high-quality libraries for the things I mostly do] is easy<br>
> to use and understand for my purposes, therefore Foo syntax<br>
> is the best."<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>
_______________________________________________<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><br clear="all"><div><br></div>-- <br><div dir="ltr"><div style="font-family:Helvetica;word-wrap:break-word"><div style="margin:0in 0in 0.0001pt"><font color="#1f497d" face="Calibri, sans-serif"><span style="font-size:15px"><b><div style="font-style:italic;margin:0px;font-family:Calibri">
<b style="color:rgb(17,85,204)"><a href="http://www.gravatar.com/avatar/204a87f81a0d9764c1f3364f53e8facf.png" style="color:rgb(17,85,204)" target="_blank">Mahesh Paolini-Subramanya</a></b></div><div style="margin:0px;font-family:Calibri">
<span style="font-weight:normal">That tall bald Indian guy..</span><br></div></b></span></font></div></div><div style="font-family:Helvetica;word-wrap:break-word"><div style="margin:0in 0in 0.0001pt"><font color="#1f497d" face="Calibri, sans-serif"><span style="font-size:15px"><b><div style="margin:0px;font-family:Calibri">
<div style="font-family:Helvetica;word-wrap:break-word"><div style="margin:0in 0in 0.0001pt;font-size:12pt;font-family:'Times New Roman',serif"><span style="font-size:11pt;font-family:Calibri,sans-serif"><div style="margin:0px;font-family:Calibri;color:rgb(1,108,226)">
<a href="https://plus.google.com/u/0/108074935470209044442/posts" style="color:rgb(17,85,204)" target="_blank">Google+</a><span style="color:rgb(31,73,125)"> | <a href="http://dieswaytoofast.blogspot.com/" style="color:rgb(17,85,204)" target="_blank"><span style="color:rgb(1,108,226)">Blog</span></a></span> <span style="color:rgb(31,73,125)"> | <span style="color:rgb(1,108,226)"><a href="https://twitter.com/dieswaytoofast" style="color:rgb(17,85,204)" target="_blank">Twitter</a></span></span><span style="color:rgb(31,73,125)"> | </span><a href="http://www.linkedin.com/in/dieswaytoofast" style="color:rgb(17,85,204)" target="_blank">LinkedIn</a></div>
</span></div></div></div></b></span></font></div></div></div>
</div>