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

Richard A. O'Keefe ok@REDACTED
Mon Aug 18 09:40:49 CEST 2014

On 18/08/2014, at 6:48 PM, Dmitry Kolesnikov wrote:

> On 17 Aug 2014, at 06:56, Michael Turner <michael.eugene.turner@REDACTED> wrote:
>> Has anyone ever done any /science/ on what makes a language easily learned, especially by children?
> Ruby :-D
> https://www.kickstarter.com/projects/lindaliukas/hello-ruby

That link points to someone who has written a kickstarter-funded
book about the programming language Ruby.

Doubtless it would be possible to *use* this book to do some
experiments -- although would be hard to disentable "great
book" from "great language".  (Assuming for the sake of
argument, and forgetting everything I know about the core
Ruby libraries, that Ruby *is* a great language.)  I suspect
Linda Liukas could produce an attractive PL/I book if she tried.

I didn't see any links there pointing to *science* that showed
Ruby has any special merits.  (For what it's worth, Python
*does* have roots in teaching-language research.)

The video doesn't provide any evidence that Ruby is any
*better* for this purpose than Python, or Javascript, or
Racket (né PLT Scheme).

> http://www.helloruby.com
> and Rails is also good for girls 
> http://railsgirls.com

I see this *asserted*, but we used to be told this about BASIC
and Pascal and Java and ....  I don't see any evidence offered
that Ruby is *better* than Javascript as an introductory 
language (though how could it *not* be (:-)?) or than anything
else, nor is any evidence offered that Rails is better for
girls than for boys or better for girls than Cowboy.

I haven't the least doubt that girls *can* achieve high
competence in Ruby and in Rails if they given half a chance.

Michael Turner's question was whether anyone has done
any *science* on what makes a language easily learned.
The kind of science is experimental education with informed
consent and ideally replication.

As well as PPIG, there's probably something useful in SIGCSE
conference proceedings.  We have a couple of people here who
do CSE research.  It's flaming HARD, and there are all sorts
of confounding factors, and it's actually hard to get
unambiguous results.

I'm not even sure that the question "is language X easier to
learn than language Y" has an answer; maybe it's
"is it easier to learn to solve problems in class P using language X
than it is to learn to solve such problems using language X",
which tangles up language and library issues.

For example, whether Ruby is better for girls than Groovy
might depend on whether they will end up using Rails or Grails,
which is hardly a *language* learnability issue.  So if you want
to tease *language* issues apart from *library* issues, you have
to give your experimental subjects the *same* library in both
languages (for some handwavy notion of "same").

As a personal example, I regard F# syntax as having warts piled
on warts, where some of the warts are disguised pharyngeal teeth.
(You know those small jaws that stick out in Alien?  Teleost
fish really have those.  Functional, but scary ugly.)
It is for me markedly less learnable than Haskell.  But if I
wanted to do e.g., graphics on .NET, I'd find *that* easier to
learn in F# than in Haskell.

More information about the erlang-questions mailing list