Teaching python (programming) to children

David Andreas Alderud aaldv97 at student.remove-this-part.vxu.se
Wed Nov 7 04:42:49 EST 2001


> Yes and no.  Like many others, my first language was BASIC (on an Apple
//e).
> Later, I took some CS classes where we learned Pascal.  I had indeed
> developed some bad habits due to language deficiencies in BASIC
(everything
> global, no argument passing, jumping in and out of routines, etc).
However,
> it was a good, simple introduction to programming and I like to think I
> wasn't permanently crippled by the experience.  Later, I took up C, and
what
> do you know?  Pascal gave me "bad" habits (mostly in the area of counting
> upon the compiler to warn me about bad things I was about to do).
However, I
> would never have moved back to Pascal from C because C's flexibility
allowed
> me to code things that would have been extremely difficult in Pascal.
Yes, I
> could shoot myself in the foot, but at least I had a gun.

I hear you, but it's my experience when teaching at the university that
students that start with non-declarative languages write sloppy code. All is
relative of cource, but I just speak from my own experience, myself I
started with MC68k assembly and went to BASIC and E, and picked up some
really bad habits in BASIC that took months to overcome.

> That depends upon your perspective on what "good code" is.  Code that is
easy
> to read?  Easy to modify?  One of Python's strengths is that almost every
> line of code is related to solving the programmer's goal rather than
telling
> the compiler how to compile the code.  Not having a lot of extra
statements
> that have nothing to do with solving the problem results in cleaner,
easier
> to understand code.  The skills you are referring to are difficult to
teach
> in any language (although, I can't comment on Ada - perhaps it makes
> designers out of neophytes in no time ;-) .  These come with time and
> experience.

I love Python, I advocate it a lot, but I believe that Ada95 is the prime
language for beginners.
Python's biggest strength from my point of view is the fact that it is
master tool for fast prototyping, but you can't really take full advantage
of that feature in a project until you have a lot of experience with low
level languages.

> Not really areas of interest for beginners.

Depends on the beginner ;-)

> It may be.  Many excellent languages languish in specialized niches.
However
> I would hesitate making one of those excellent languages a teaching tool
> since people learning it would undoubtedly have to later move to another
> language anyway (possibly due to lack of availability on a specific
> platform), so most of the features they've come to depend upon would no
> longer be available and their reliance upon them would show up as "bad
> programming practices" in their new language.

The fact that Ada is the only language that truly was designed, people who
have used Ada have no problem to pick up other langauges other than fully
functional languages such as LISP.

> Not knowing Ada makes me reluctant to disagree, but I wonder how a
language
> so strict that writing sloppy code is difficult can be a very flexible
> language.  Usually those things are mutually exclusive.  Training-wheels
on a
> bicycle are a common comparison... safety over flexibility.  Maybe this is
> why you need inline Fortran/C/Assembly in your Ada code - to get around
the
> restrictions of the language.

No, not infelxiblitity, it's just that my first language was assembly so I
tend to use inline assembly instead of banging the hardware in Ada. Call it
a birth defect, a defect that I would not have if I had started with Ada.

> Widespread use?  A promising future?  Guido himself suggested (in Linux
> Journal) that perhaps Dylan was slightly better than Python in some
respects,
> but I don't see anyone jumping ship just yet (maybe when Visual Dylan hits
> the market).

I see big demand for Ada programmers here in Sweden, not as big as Java and
C++, but indeed much more so than Python :)
Airbus in France use Ada almost exclusivly, if my friend who works there is
correctly informed.

> True, I don't know jack about Ada.  I don't know jack because I've never
> known anyone (other than yourself) who claims to use it.  This doesn't
make
> it a bad language, just an impractical one.  The unfortunate fact is that
the
> best design doesn't always win (otherwise where would Microsoft be
today?).
> I think Ada had its chance and failed to claim enough interest to make it
> relevant today.

Think of Ada as kind of Objective-C of all oo iterative languages, more
powerful and better syntax than C++, but not as accepted.
I see a growing market for Ada, though I rarely code in Ada anymore (mostly
Python), I do this because I prefer the fast prototyping of Python.
I believe that Ada is a better choise for the beginner, I'm not claiming to
hold the absolute truth.

> And please, I'm not trying to offend you, just disagree with you (a
little),
> so let's not make this another flame war - this list has had too many the
> last couple of days.

I got nothing to get mad about, I love Python, I just believe that Ada is a
better language to begin with.

I must say I'm anti-GNU, i.e. anti-GPL/LGPL, but I found this which was an
interesting quote from a GPL'ed project:
"Using GtkAda and GNAT, we can decrease time to market by a factor of two to
four over any other language/compiler."
-- http://libre.act-europe.fr/gvd/





More information about the Python-list mailing list