[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "Python for Lisp Programmers"

> Date: Sun, 9 Dec 2001 21:27:13 +0000
> From: Simon Cozens <simon@simon-cozens.org>
> On Sun, Dec 09, 2001 at 12:55:28AM -0800, Michael Vanier wrote:
> > Even though I love python and use it all the time, I'll second Shriram
> > here.  I spent some of the last term teaching scheme to undergrads, and
> > none of them had a problem with the parenthesized syntax after about the
> > first two weeks.
> If it took two weeks to get my students comfortable with a language's syntax,
> I'd get a new language. Furthermore, if the syntax of the language is as
> trivial as Scheme's, I'd get new students.

Well, Caltech undergrads are generally regarded as being pretty bright,
with the highest average SAT scores in (*ahem*) the world, last time I
checked.  So I don't think it's that.

I think Shriram is closer to it: almost all of my students have programmed
in an Algolish language before (mainly C).  I would say that the difficulty
of learning an Algolish language and *then* learning scheme is much greater
than learning scheme as your first programming language, just like learning
English and then learning (say) Chinese is much harder than just learning
Chinese.  Having a brain that can easily context-switch between multiple
language rule-sets is not at all the same thing as having a brain that can
handle one.  OTOH this is a necessary skill in the modern programming
universe, where there are a gazillion programming languages around.

Having said this, I must say I was surprised at where the difficulties were
and how long it took students to get past them.  Environment diagrams
caused a good deal of grief, and most people took a while to get a handle
on tail-recursion-for-iteration and passing functions as arguments.  Of
course, these are exactly the things that you don't learn when learning C.