Python taught in schools?
mgi820 at motorola.com
Mon Jun 26 17:32:10 CEST 2006
In article <e7lv4a$h6k$1 at mlucom4.urz.uni-halle.de>,
Mirco Wahab <wahab-mail at gmx.net> wrote:
>Thus spoke Cameron Laird (on 2006-06-25 13:08):
>> I'll gratuitously add that, even though I'm personally fond of
>> C++, I think teaching it as is done in colleges and high schools
>> (!) amounts to child abuse. It's wildly inappropriate.
>C++ programming requires you to
>massively invest your thinking
>first into the setup of your
>build environment (can only be
>beaten by Java here).
A while back I had the opportunity to teach a section of an
introductory computer science course in C++. They had recently
abandoned Pascal in favor of C++ as the language of choice. There
was certainly some spinup on the development environment to do,
but it wasn't too terrible.
I think the real problem with C++ is that there is a lot of
conceptual baggage to work around to get to a useful program without
having the students "unlearn" things later. Just basic things like
const (in its various forms), pointers vs. references, class basics,
headers, etc., are necessary for idiomatic C++ programming, but
they get in the way of teaching more basic concepts of program
I understand that the school switched to Java a short time later,
which is some improvement, but still has a good bit of baggage.
Now the Schemers have taken over, so they teach Scheme as the
introductory language. One thing about Scheme is that it doen't
have a lot of baggage; there is no room for it in the spec. :-)
To return to topicality for a moment, I think exposing new
students to a combination of Scheme and Python might work well,
providing different views of how to build programs, and leaving
the students with both theoretical and practical foundations on
which to build.
p.s. Then sock them with ML or Haskell to weed out the weak ones. ;-)
Then if they survive Occam, throw Java at them, so they'll
know what they are missing but can still get a job...
More information about the Python-list