Guidelines for a fresh starter

Alex Martelli aleax at
Fri Oct 11 10:19:31 CEST 2002

Jeff Epler wrote:

> On Thu, 10 Oct 2002 20:13:04 +0200, "rodion" <rodion at> wrote:
>> >have to understand what i read so i would like someone to recommend
>> >books, url's, etc...where i can make a start.
> On Thu, Oct 10, 2002 at 09:01:23PM +0200, Rhymes wrote:
>> one above all:
> Is this text really very good?  For instance, in the section "What's
> in a name" (the second one I read), the author confuses the "print"
> statement/keyword with a "'builtin-scope' name":
>     def spam(X):
>         #...
>         if Z > W:
>             # print is a 'builtin-scope' name
>             print "2 x X is greater than X + 5"

Yes, I think it's good, although it's surely not perfect.  I think
I understand the author's general problem: it's devilishly hard to
express yourself WITH total precision, AND at the same time still be
totally clear and helpful to newbies -- there's quite a bit of tradeoff.

In this case, I agree with you that Gauld oversimplified a delicate
distinction -- a keyword is not really a "name", even though it looks
like one, and I think the distinction should be drawn early on, or it
will be harder for the beginner to draw it later.  But it may be an
issue on which sensible people disagree.  My own instinct is to avoid
outright assertions that I know to be flawed... when I just have to
simplify in order to get a point across to a beginner, I tend to
pepper the text with footnotes or parentheses explaining that "it
ain't EXACTLY so -- this holds ONLY in 99.44% of known cases" and
so on... but this does mean that my writing is not necessarily the
best for beginners (and gives my editor lots of extra work, which
in turn may explain the Nutshell's delay:-).

It was much the same when my children were little.  You know how
kids are always asking the obvious but HARD questions such as,
"why is the sky blue", "why is the Sun hot", "but WHY do we have
to pay taxes?!", and so on.  I'm not sure how most parents handle
that, but, in my case, I tended to sit down with them and go
through careful, painstaking attempts at explanation, pointing out
where I was deliberately simplifying things -- this tended to
generate many more questions, and sometimes we jotted those
down for further discussion later.  I remember my father nodded
approvingly at my approach, my mother shook her head muttering
something about my being "just like his father", and just about
every other adult thought I was outright crazy -- but the kids
appeared to love it, and strove to follow as long as their
attention spans (quite a bit higher than what I've heard is
said to be the average) would allow.  I know this set my kids
up for a rude shock when they went to school and found out that
most teachers expected them to be content with "it's so because
it IS" as an "explanation", or "it's too complicated for you to
understand" (codespeak for "I don't really know but I'll NEVER
admit I don't know something!") -- but I still hope it also
helped them in some ways (their consistent top-of-class marks
suggest that, but maybe they'd have been just as good even
without all of this, of course).  And besides, I just couldn't
LIE to my kids, e.g. by saying "this is too complicated for
you to understand" (how do I KNOW it is?) -- when I knew I
could not explain something well, I'd rather start with "Well,
this IS complicated, and I don't grasp it fully myself, but
let's try to research the question and see what we come up
with" (I tended to go for an Encyclopedia at this point, most
usually the Britannica -- that was one thing my dad didn't
approve, as he always called encyclopedias and any other
popularization "predigested pap", but I liked the Britannica).


More information about the Python-list mailing list