[erlang-questions] hobbyists, erlang, elixir (was Improve $handle_undefined_function)

Richard O'Keefe ok@REDACTED
Wed Jan 23 05:44:41 CET 2013

On 23/01/2013, at 2:56 PM, Garrett Smith wrote:
> I'm almost inclined to think the real solution (assuming there's a
> problem, and I do) is that instructors *teach* this stuff! Why the F
> are students learning to program with *Java*

Ah, said The Man In The Corner, drawing up his chair.
Let me tell you a story.

Once upon a time (about 1992ish) in a land where the moles
have beaks and swim and the deer jump on their hind legs
(Australia), a certain computer science department (RMIT)
decided that Pascal had reached its use-by date.  What shall
we do?  What shall we replace it with?  Set up a committee!
I was on the committee.  We set up a short list.
 (1) Scheme.
     Tiny language, amazingly capable, REPL so you can try
     things out, implementations for all the machines we
     cared about.  And Rob Hagan at Monash had shown that
     you could teach students more COBOL with one semester
     of Scheme and one semester of COBOL than you could
     with three semesters of COBOL.
 (2) Miranda.
     The commercial precursor of Haskell.
     Melbourne University were also looking at this (or had
     already switched to it) which would make it easier to
     pick up some of their students.
 (3) Ada.
     Close enough to Pascal that our staff were comfortable with
     it and our material would not need major revision.
     A better Pascal than Pascal.
     Handled concurrency about as nicely as an imperative language can.

What was the deciding factor?


Our deliberations leaked, and we started getting phone calls from
careers masters saying "if you go all theoretical [read: (1) or (2)]
we'll tell our pupils not to study with you."

There's no point teaching the ideal course if nobody comes,
so (1) and (2) were abandoned and Ada was chosen.

Actually, I like Ada.  And that's why I was disappointed a few years
later.  The cry went up
  - Ada is not sexy!
  - Ada has no native graphics!
    (X11 bindings, yes, but you needed to read C oriented books to
    learn how to use X11 and then translate that to Ada.)
  - Ada does't run in your browser!
  - Ada doesn't have suitable books!  (I don't agree.)
  - Students won't be motivated!
I was not on the committee that switched to Java.

The belief was that if students couldn't make flashy graphicy
things in their web browsers -- this being a time when HotJava
was still around -- they would fall away and what's the good
of teaching the >right< stuff to an empty classroom?

The department I'm in now went straight from Pascal to Java; it was
not so much that we abandoned Pascal as that it abandoned us.
There were plenty of Java books to choose from, ranging from bad
to very bad, but that's Sturgeon's Revelation for you.

One problem is that Computer Science departments simply do not have
the time to teach everything they need to teach.  Students want to
leave in 3 years with qualifications an employer will like, and
employers want 'practical' languages in CVs.  I have a colleague
who cannot spell because he was taught to read using the Initial
Teaching Alphabet, so I'm less convinced about the educational
benefits of neat languages than I used to be.

More information about the erlang-questions mailing list