[Edu-sig] Teaching Python instead of Java?

Tom Malcolmson tom-list@home.com
Sun, 11 Mar 2001 23:32:24 -0500


David,

I'm not a teacher, but I personally wish that I had learned Python as my
first language.  I'm glad you asked your question - I've been thinking about
this recently.  Here are some of the reasons that I think Python is the best
language to teach/learn:

- Its design is clean, intuitive, and simple.

- It is interactive.  Being able to play at the command line benefits
learning considerably.

- It supports multiple programming paradigms: procedural, modular, and
object-oriented.  Personally, I would want to learn them in that order, but
the choice is yours.

	An aside on this: the OO features of programming languages are essentially
'built on top of' procedural features (which are closer to how the computer
really works).  Python's advantage is not just that it supports both
paradigms, but also that the relationship between the two (the way its OO
support is built from its procedural features) is simple, and clear, not
hidden as in other languages.  This is a great advantage later on when the
OO developer is confronted with a stack trace, or a code browser, that
presents an OO program in procedural terms.

- It provides power without complexity: modules allow the new programmer to
do real things without complexity (this is very motivating).  My first such
tool was MFC - wrong!

- The community is helpful & responsive to newbies.  The attitude on the
comp.lang.python newsgroup is excellent.

- It is an alternative to Java.  It doesn't make sense to teach everyone the
same language in a field that is supposed to be continously changing and
innovating.  And, unlike Java, the future of python is ultimately controlled
by its community, not by the interests of a companies' shareholders.

Tom.

> -----Original Message-----
> From: edu-sig-admin@python.org [mailto:edu-sig-admin@python.org]On
> Behalf Of David Pettersson
> Sent: March 11, 2001 6:50 AM
> To: edu-sig@python.org
> Subject: [Edu-sig] Teaching Python instead of Java?
>
>
> Hi,
>
> I work as a teaching assistant at my local university, and we currently
> teach Java only to our new students (Pascal was left a couple of
> years ago).
>
> Although Java is a nice language, I still feel that it is inappropriate to
> teach new students (some of which have had no prior computer experience!).
>
> I have been using Python for a couple of years now, but it was far from my
> first language (although one could say it is my primary language now :).
> What I am wondering is if Python is a better alternative, and why
> if is so.
>
> Sincerely,
> --
> David Pettersson                                   Stardate [-30]6312.44
> dave@se.linux.org                        Public key available on request
>
> _______________________________________________
> Edu-sig mailing list
> Edu-sig@python.org
> http://mail.python.org/mailman/listinfo/edu-sig