python for the people (was Extensible compound statements)

Donn Cave (donn@u.washington.edu)
8 Feb 1995 17:39:29 GMT

jfulton@dsjfqvarsa.er.usgs.GOV (Jim Fulton ) writes:
...
| ... I don't see that the new
| feature has to be a burden to "ordinary programmers". If someone
| doesn't need to implement this sort of control abstraction, then there
| is no reason why they should fully comprehend the feature.

I disagree, maybe depending on the meaning of "fully comprehend".
A person can get started on python with only the Tutorial, but at some
point we have to decide whether we're serious or not. If I'm going
to invest the time it takes to write real programs in python, I have
to read and understand the Reference Manual, probably repeatedly over
the course of time. The third time through, it may finally occur to
me how useful __getattr__() is going to be for my application. If
there's a __leave__() function that I never ever need, or worse never
really understand, it makes the whole language harder to know.

So here's the distinction between the serious and casual programmer -
maybe for example professional-programmer versus scientist-programmer.
Earlier I mentioned ordinary people, and I'm afraid that professional
programmers are often fairly ordinary people. QED, ordinary people
need to fully comprehend python's features.

In the end the benefits of these new features may far outweigh their cost.
I just wanted to point out what I see as a fallacy in the notion that you
can totally avoid these costs by "hiding the implementation from end users".

Donn Cave, University Computing Services, University of Washington
donn@cac.washington.edu