[Edu-sig] Teaching Python instead of Java?

Alan Gauld agauld@crosswinds.net
Tue, 13 Mar 2001 18:14:48 +0000


>- It supports multiple programming paradigms: 
> procedural, modular, and object-oriented.  

And let's not forget functional programming too. 
Some students find functional concepts easier to 
absorb than OO!

>'built on top of' procedural features (which are closer 
> to how the computer really works).  

Closer to most computers but not all. Symbolics 
workstations are optimised to work with Lisp and 
Dr David H???? built an OO based machine some time 
back for Linn Products which was all based on 
message passing at the hardware level. But I 
agree that most computers are stack based.

>- It is an alternative to Java.  It doesn't make 
> sense to teach everyone the same language

It doesn't make sense to teach anyone Java except, 
maybe, as an alternative to C++. Java is an apalling 
language for a beginner being riddled with 
inconsistencies (although Java 2 is much better) and 
based on a pseudo OO design that positively encourages 
bad OO programming practices. Java is really a Class 
Oriented Design rather than Object Oriented.

As Jeff stated earlier Python focuses on the principles 
with minimal distraction. Java is an acceptable language 
for large scale network programming. For teaching it 
stinks IMHO!

Python isn't perfect, but it seems to be the best we have 
for now - and I include Ruby and Scheme...

Alan G.
Author of "Learning to Program" at:
http://www.crosswinds.net/~agauld