[Edu-sig] Re: Edu-sig digest, Vol 1 #721 - 8 msgs

Jason Cunliffe Jason Cunliffe" <jason.cunliffe@verizon.net
Wed, 9 Jul 2003 19:35:51 -0400


> I have searched for a while and the only one I could find is TPF
> http://gorny.cjb.net
> The problem is its note even commented

hmm.. Yeah I searched on Parnassus quickly but I can't see anything there
other than
what you already found

Tiny Python Forum 0.2 - Simple CGI script written in Python
http://home.student.utwente.nl/g.v.berg/misc/tpf-0.2.tar.gz

The code is not commented but looks reasonable at a quick glance..
The README file which the author includes has some simple instructions to
installing and using it.
Have you tried it yet?
If you get it set up an running then start tweaking a few things as he
suggests and grow from there.

I am not clear at what level you want to learn.

There are a number of books and sites which discuss general web programming
concepts and protocols. Until I gained some of that understanding, I found
many web programming packages incomprehensible, with or without docs and
tutorials. I simply did not understand enough about how Internet and web
protocols worked. And I remember looking through the source, I could not
distinguish the Python programming language stuff from the web-specific code
it was manipulating. It was exhausting. Looked in Python's own docs  and saw
HTTP server and more goodies. But I didn't know CGI or http so could not
follow the text well or put them to use sensibly.
Then I found a great book which helped me

HTTP Essentials: Protocols for Secure, Scaleable Web Sites
by Stephen A. Thomas
[under $20 2nd hand]
http://www.amazon.com/exec/obidos/tg/stores/offering/list/-/0471398233/all/r
ef=dp_pb_a/103-2698402-8575801

Another incredibly useful book you might want to invest in is the O'Reilly
"Python Cookbook" Edited by Alex Martelli & David Ascher.

Some of the best Python projects are frameworks which offer high level
access to complex features. Designed to save work for other programmers. For
example, intense web tools like Webware or Zope which might do a what you
want immediately and professionally. But they could well not teach you
directly what you want to learn,  because they are so too powerful, vast and
sophisticated already. But a big part of programming in Python is about
learning using how to use other people's code. It is one of the essential
skills.

But Art's comment along the lines of 'you don't need tutorials, just
experience and other people's source' - simply does not acknowledge the
overwhelming aspects at some stages in one's development. Python has an
abundance of riches. But sometimes gently learning a core technique or how
to a do a small simple task is obscured.

Using other peoples' code intelligently does not necessarily mean you have
to read or understand all [or even any] of it. Debugging an error does not
mean one should or can understand the structure of a complex program. You
follow the errors like arrows.
One of the most important things which Tutorials do is provide a map of the
most important  features and structure  in a meaningful sequence.
Reading most source code will not give one that unless it is well written
and beautifully documented.
But some people develop amazing skill to study source code.

Like poetry I wonder what can anyone else do to help one understand it.
Hearing a poet read their own work is often [but not always] enlightening.
I've had the privilege to sit next to a few good programmer friends as they
talk/walk their way through some code they had written.
As much as private study and hands-on *trying*  is valuable, I learn
something incredibly important in those sessions - how to approach reading
and thinking about code. Which were the 'interesting' or clever bits, along
with the trivial or boring parts And from there then how to discuss it and
understand how to build a program.

There is revolution being ushered in with instant messaging and presence
which will open up code for  live study and remote active collaboration.
Imagine if IDLE had a group 'buddylist' you could use to share and browse
with others. It will before too long I am sure. I am not advocating a
passive approach. But being able to watch someone craft a program, to see
how it grows or how it gets commented and turns from pseudo- code into the
real debugged thing would be incredibly useful. For teachers and students,
peers and reviewers.

"All Software Should Be Network Aware"
http://www.oreillynet.com/pub/wlg/3422

hth + good luck
Jason