Choosing a programming language as a competitive tool

Alex Martelli aleaxit at yahoo.com
Sun May 6 12:41:39 EDT 2001


"Douglas Alan" <nessus at mit.edu> wrote in message
news:lc3dajk0ma.fsf at gaffa.mit.edu...
    [snip]
> That's not true -- no one would ever even think of teaching Computer
> Science in Perl,

I'm not too sure, although I have no certain knowledge to the
contrary.  http://www.cse.unsw.edu.au/~cs2041/lec/intro/slide002.html
for example gives me the impression that (at UNSW) CS2041 may
be the third CS course (with the first one in Haskell, and the 2nd
one in Java) and from following slides, particularly the ones about
reading material, it appears to me that it's mostly in Perl.

Rochester's CS190 was said to provide "an intensive and accelarated
introduction to Computer Science using a number of programming
languages including C++, Java, Lisp/Elisp, Perl, Tcl, Latex and others".

I do hope that nowhere is Perl used as the _only_ language in an
_introductory_ CS course, but I wonder...


> Pascal.  Python would also be a good language for teaching Computer
> Science.  (Not as good a language as Scheme, though, which is a
> dialect of Lisp.)
    ...
> Not true.  Python is practically a dialect of Lisp, but with a

So, comparing them as "dialects of Lisp", what do you believe
makes Python not as good as Scheme for teaching CS?

I think it may depend on the students' background and general
attitude.  If the target is somebody with strong mathematical
background and bent, then Scheme's syntactical spareness
may prove advantageous indeed -- easier to lay bare all the
underlying mechanisms, easier to have programs build or
modify programs, no risk of syntax-sugar focus.

But some CS introductory courses might target another kind
of student -- one better served by Python's "prettiness" and
ease of use for many tasks, with the mechanics of OO already
built-in rather than needing to be constructed, but still pretty
well "exposed" and tweakable for didactical purposes.

Maybe it depends on how many _other_ CS courses the typical
student of that introductory course is expected to take over
his or her academic career.  It may make a difference whether
the introductory course is likely to be just the first of many CS
courses, or, at the other extreme, pretty likely to be the only
one, or one of two/three at most.


Alex






More information about the Python-list mailing list