Re: Rethinking the Python tutorial



Here's my two cents -

I started with the official tutorial. It seemed up to date to me.
Things that changed from 2.4 to 2.5 changed in the tutorial as well. I
still refer to it every few days, because it had been a useful
reference for the basic data types. I like that it seemlessly links
into the other documents, both online and in the local MS Help format.
It took a couple of days to get through, and gave me enough of an
introduction to the library that I could get started on the Python
Challenge. I don't think it's broken enough to throw away completely.
Bug reports filed at sf.net appear to be responded to quickly.

I haven't tried "A Byte of Python", so I can't comment.

I tried to learn from "Dive into Python", but I found that it went too
quickly. I have a lot of C and C++ experience, but I needed the more
basic stuff, like dictionaries, tuples, etc. explained in more detail.
It was a very useful guide once I had the basics, but after my initial
experience with it I put Python away for a few months.

"Dive into Python" is not being kept up to date. The last revision was
May 2004, and several things have changed since then. For instance,
chapter 4, on introspection, creates a program called apihelper.py,
which uses introspection and doc strings to print the usage of an
object. This is all great stuff, which would be part of my toolkit,
except that there is a built-in, help(), that does the same thing. I
had to go to the downloaded source to find that out. In other cases,
the tutorial still teaches to older versions of Python, sometimes with
notes for the newer styles, sometimes without.

Another downside is the use of internet sources for examples. For
instance, his example for a web feed is
http://diveintomark.org/xml/atom.xml, which replies with a "410 Gone".
As you might guess, this was the author's server, and might have been
removed because of all the people taking the tutorial. This would have
to be fixed, to make chapters 11 and 12 make much sense.

As for a wiki version of the tutorial, I think the MoinMoin docs are a
good example. MoinMoin is a wiki engine running Python, and the
documents are distributed with each engine. These documents can be
seen on the project website,
http://moinmoin.wikiwikiweb.de/HelpContents. There is a second wiki at
http://moinmaster.wikiwikiweb.de/HelpContents , which contains the
"master" documents. Those that want to help improve, correct, or
translate documents do their work on this wiki. It lowers the number
of pages that maintainers have to review, so that a consistant quality
can be maintained. It also is a (slight) barrier to entry, so that
casual users don't make random changes.

I think the most important thing for a tutorial is a consistant style
and a consistant idea of the user's capabilities. This is easiest with
a single maintainer, but requires constant dilligence and a subdued ego
for a collaborative document.

.



Relevant Pages

  • mailing list welcome welcome msg in wiki suggestion
    ... wiki page that amounted to a "Welcome to the Python community; ... '''Welcome to the Python community!''' ... that a Community member will recognize that it is a homework problem, ...
    (comp.lang.python)
  • webserverless Python Wiki Engines: do they exists?
    ... the python.org wiki, but haven't had luck, so it's time to ask: ... but none written in Python. ... To give some idea of my requirements: Python is the only programming ... (Python is a thesis procrastination projec and I've done no web ...
    (comp.lang.python)
  • Re: Who is www.python.org for? (was Re: New Python.org website ?)
    ... A "Python is"-blurb with current buzzwords, (I guess that could be autogenerated by some bot that extracts buzz- words from the net;) a few quotes and links to success stories. ... Tools> Python" besides the standard documentation and a wiki page ...
    (comp.lang.python)
  • Re: Social problems of Python doc [was Re: Python docs disappointing]
    ... Wiki so that the documentation produced could be freely distributed ... A couple years ago I actually did give a half-assed try to rewriting ... And eventually the Python side ... And of course I am not any better writer than the ...
    (comp.lang.python)
  • Compiling the Python sources with a C++ compiler (aCC)
    ... I have managed to build Python 2.3.3 with the aCC HP-UX C++ ... compiler by making a number of one-line changes. ... consistant use of a "staticforward" type ...
    (comp.lang.python)