[Edu-sig] re: The trackball reality
dethe.elza at blastradius.com
Fri Oct 24 19:33:38 EDT 2003
> 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
> 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,
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
> I wish it would seem to me less agains the grain to feel that the
> approach is promoting the learning of Python as an difficult, arduous
> 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