[erlang-questions] Potion: was "Erlang for youngsters"

Ivan Uemlianin ivan@REDACTED
Sun Aug 17 11:42:11 CEST 2014

I agree with Richard about Javascript.

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).

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.


festina lente

> On 17 Aug 2014, at 05:53, "Richard A. O'Keefe" <ok@REDACTED> wrote:
>> On 17/08/2014, at 3:56 PM, Michael Turner wrote:
>> Has anyone ever done any /science/ on what makes a language easily learned, especially by children?
> The Psychology of Programming Interest Group would be the right
> people to ask about that.
> For example, the PPIG2014 conference in June had a paper
> "Educational Programming Languages: The Motivation to Learn
> with Sonic Pi" by Arabella Jane Sinclair.
> Check http://www.sussex.ac.uk/Users/bend/ppig2014/
>> 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?"
> To be honest, I would not expect anything of value from that.
> When I was learning to program, three common mistakes made by
> others were
> - treating "IF (expr) stmt" as a declarative "WHENEVER
>   expr becomes true, do stmt"
> - treating "WHILE (expr) stmt" as a declarative "AS SOON AS
>   expr, stop doing stmt."
> - treating "var = expr" as a declarative and assuming that
>   the order of such statements did not matter.
> "Untutored eyes" found no real concept in the brain behind them
> of what such things *might* mean.  If someone doesn't "get" some
> syntax, maybe they don't have the concept and wouldn't "get" it
> no matter *what* the syntax was.  To me it's obvious that
>    prices := items par collect: [:each | each totalPrice]
> is a parallel map, but it *cannot* be understood by anyone who
> doesn't already know what a parallel map *is*, and such a one
> has already been exposed to some programming language, so dear
> old "familiar = better" lifts its hoary head and starts biting again.
> As a teenager, I was motivated to learn how to build ham radios
> and did learn enough electronics to do so.  I was *not* motivated
> enough to learn Morse Code -- I could transmit on 144 MHz and
> above without that -- so I didn't.  (My licence lapsed years ago,
> but I was ZL1TQW for a little while.)  I and some others in the
> school computer club were sufficiently motivated to learn
> portapunch Fortran, *not* something ever designed to be child-friendly.
> LOGO was learnable by schoolchildren, even ones sufficiently
> immature to think that naming variables and procedures with
> swearwords was funny.  For that matter, micro-PROLOG was learnable
> by schoolchildren.
> With the possible exception of joke languages like Intercal and
> Brain*uck, I suspect that "youngsters" can learn *any* programming
> language their elders would be willing to use *IF* they want to,
> and they'll want to if they believe that something of value to
> *them* will be the outcome.
> I hate saying this.  No, it makes me *SICK* to say this, but
> there is a sense in which the most learnable language at the
> moment is Javascript.  There's pretty much immediate payoff
> from putting even a modest amount of Javascript into a web page.
>> 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.
> Now *that* I believe.  The one software engineering experiment I
> tried, where the research question "are nice_identifiers easier
> to read than uglyNastyOnes" didn't get answered, but "are students
> willing to read 2 pages of code without a syntax-colouring editor
> and a debugger" was.  (The answer was "no.")
>> The results of such experiments might finally put to rest (in the minds of the rational, anyway) many of these syntax religion conflicts,
> Bet you $50 it doesn't happen in my lifetime?
> One problem is that programming languages are tangled up
> with libraries and application areas.  People are always
> going to think "Foo [which happens to provide extensive
> high-quality libraries for the things I mostly do] is easy
> to use and understand for my purposes, therefore Foo syntax
> is the best."
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list