Python Books for 2002

Grant Griffin not.this at seebelow.org
Tue Apr 10 13:58:46 EDT 2001


In article <9av8vs$68g$1 at panix3.panix.com>, aahz at panix.com says...
>
>In article <lcpuelnkl0.fsf at gaffa.mit.edu>,
>Douglas Alan  <nessus at mit.edu> wrote:
>>Konrad Hinsen <hinsen at cnrs-orleans.fr> writes:
>>> claird at starbase.neosoft.com (Cameron Laird) writes:
>>>>
>>>> 1.  I'll renew my periodic appeal for explanation
>>>>     of what makes K&R so wonderful.

IMHO, one of the very most wonderfulest things of all about it is something
quite mundane: its index.  It's truly a miracle.  Whatever question about C you
have, you can almost always find an index entry for it starting with the first
word you think of that it might be indexed under.  This requires, of course,
that the index be "redundant"--which is something that most index writers don't
bother to do.  (Or maybe they think they _shouldn't_ do: how many times have you
seen an index entry that says, "See xxx"?  Argh!)

On the other end of that spectrum, how many books have you looked at where the
first word you looked for wasn't in the index--but then turned out to be the
name of _an entire section of the book_?!

>>>>     I think it is, too, but I have trouble being
>>>>     analytic about it.

It is simply, clearly, and beautifully written.  Everything is done by example. 
The examples are "real", not contrived.  Information is presented step-by-step. 
Each step builds on the last.

>>>
>>> It's concise. It doesn't suppose readers are stupid, and therefore
>>> doesn't explain on ten pages what a variable is. I wish there were
>>> something similar for Python.
>>
>>What's wrong with the Python Tutorial?  It did the job for me.

I like it too, but it was pretty easy given that I already knew C/C++ and Perl. 
I'm not so sure it would be the thing if one were a complete programming novice,
but then again, I'm not so sure it's directed at them, either.

>There's nothing wrong with the Tutorial, but one of the wonderful things
>about K&R is that it *also* serves as a reference manual, something that
>the Python Tutorial isn't so good at.

I have a more general gripe with the Python docs: that you have to go through a
process of learning where things are.  (And after more than a year, I'm still
learning...)  I think the individual docs themselves are well written, but I
think the overall way they are organized makes them pretty hard to use. 
(Perhaps this is a historical thing: maybe an accretion problem.  So perhaps
they should be totally reorganized.)

For example, when I was new to Python, I looked for an explantion of "print" in
the "built-in functions" section.  However, it turns out that print is a
_statement_ (which is a fine point that's lost on beginners...), and, as such, a
complete description of "print" appears only in the reference manual.  Well,
obviously.

This illustrates the problem: the docs are organized in a way that assumes that
one already has a fairly advanced understanding of what the docs are there to
tell you.

The "HTMLHelp" index provided with ActiveState's distribution helps some, but
it's somewhat half-baked.  (Though to be fair, it's worth a whole lot more than
I paid for it.)

In that vein, one significant advantage that Python books have over online docs
is that they have much better indices.  (Also, you can take 'em into the potty.)

>OTOH, IMO Python is significantly
>larger than C, so it's probably not possible to have a single, small
>combined reference/tutorial.

BTW, doesn't K&R provide the C reference manual as an appendix? <wink>

But your point is taken: I rarely use that, instead I use the main part of the
book as the "reference manual".  (After I look something up in the index, of
course.)

finding-information-is-the-first-step-to-becomming
   -informed-ly y'rs,

=g2

_____________________________________________________________________

Grant R. Griffin                                       g2 at dspguru.com
Publisher of dspGuru                           http://www.dspguru.com
Iowegian International Corporation            http://www.iowegian.com




More information about the Python-list mailing list