[Edu-sig] re: The trackball reality

Dethe Elza dethe.elza at blastradius.com
Fri Oct 24 19:33:38 EDT 2003

Arthur wrote:
> Which could be said to relate to my contrarian view about Python.
> Its hard as shit to learn, really. Four years into it, and I consider 
> myself
> a rank novice.

Programming is hard.  It's the process of telling a bunch of 
transistors to do something, where that something may be very clear to 
us fuzzy humans, with all our built-in pattern matching, language 
processing, and existing knowledge, but really, horrifically, tediously 
difficult to communicate to a bunch of dumb transistors.  Python *is* 
hard, because programming is hard.  On the other hand, python is easier 
than (in my experience) C, C++, Objective C, Pascal, Postscript, Forth, 
Java, Javascript, Perl, etc.  In some cases it is so much easier that 
it almost appears *easy* in comparison.  But there is a huge difference 
between *easier*, even vastly easier, and *easy*.

> Why would Python seem to want to avoid identifying itself as rich, and
> *complex*.  As central to its claims toward having educational value.

I'm not aware of Python trying not to be identified as *complex*.  Tim 
Peter's koan sums it up: "Simple is better than complex/Complex is 
better than complicated."  Python tries to avoid being *complicated,* a 
goal in which it is only partially successful.  Completely avoiding 
being complicated would involve re-writing the entire intfrastructure 
of computers, operating systems, libraries, frameworks, and the 
internet.  The fact that Python succeeds in avoiding complicated as 
well as it does is good, but of course there is still tremendous room 
for improvement.
> I wish it would seem to me less agains the grain to feel that the 
> proper
> approach is promoting the learning of Python as an difficult, arduous 
> but
> worthwhile effort.  I think we set up people approaching it with other
> expectations for likely defeat.

Well, I think you have a good point.  We should never deny that 
programming is a difficult and arduous, but worthwhile effort.  On the 
other hand, it doesn't make sense to emphasize the difficulty early and 
turn away novices before they've begun.  Better to demonstrate the 
simpler bits and introduce the hard stuff as driven by need and 
curiousity, once the programming newcomer is hooked into the habit of 
creating executable abstractions.


"Computers are beyond dumb, they're mind-numbingly stupid. They're 
hostile, rigid, capricious, and unforgiving. They're impossibly 
demanding and they never learn anything." -- John R. Levine

More information about the Edu-sig mailing list