[Twisted-Python] Docs for twisted
Three thoughts come to mind - coming from someone who has climbed the Twisted learning curve for the last year. 1) The docs I'd like to see would be of a more tutorial nature - it would seem to me that they would be the easiest way to reach a "lights on" stage. The sample code is good - and the finger tutorial is fine (for what it addresses) - but there are still lots of bits & pieces that seem to be hidden. At some point, you reach the "Ah-ha!" stage. The learning curve greatly flattens out at that point. (At least that was my personal experience with Twisted-PB.) Once you reach that point, everything else becomes much easier to learn. It helps a _whole_ lot to have a specific project / task in mind. Part of this is understanding your task sufficiently well to be able to divide it into the components as they apply to Twisted, and build carefully, step-by-step. (In my case, I built a multi-room chat server. Not a whole lot of code, but takes advantage of a number of different principles.) I think it also helps, as painful as it may seem, to force yourself to work through the tutorials in the book by typing the code rather than just reading it. There's a more intimate association that you develop by going through the actual process than just running the existing code. 2) A current road map may help. I've seen various comments about modules being "not-quite-primetime" or "an old way of doing things" (specifically, I'm thinking about Enterprise, other than adbapi, and TAC / TAP files) Yes, Python (and Twisted) is the "Batteries Included" environment, but as someone pointed out to me at PyCon, some of those batteries are dead. I'd really like to know what modules I should avoid. 3) Even something like a directed HOWTO could be incredibly useful. For example: If you want to build a web server - read Chapter 7, Web Applications, section 7.1 and look at sample "xxx" - where sample "xxx" is the simplest and most straight forward first example of a web server. There's a _lot_ there, and wading through it can be frustrating. The only way I managed it, was to print out the consolidated HOWTOs in the book.pdf file and read Chapter 6 repeatedly. After about the 10th repetition, along with working through the samples, things just started falling into place.
Ken Whitesell <kwhitesell@adelphia.net> writes:
1) The docs I'd like to see would be of a more tutorial nature - it would seem to me that they would be the easiest way to reach a "lights on" stage. The sample code is good - and the finger tutorial is fine (for what it addresses) - but there are still lots of bits & pieces that seem to be hidden.
I agree with you. Twisted may be easy for who know python very well and can dig through pydoc, epydoc and so on. It's a pain for beginners. If Twisted had a good documentation, tutorial, howtos, it would gain lots of new users and developers. I am trying to write some tutorials by myself and helping some friends who is trying to learn Twisted and Twisted.web. This tutorial is on early stage, if someone else is doing the same, I think we could join efforts and make a good tutorial and also explore these pieces that seem to be hidden.
Christiano Anderson wrote:
I agree with you. Twisted may be easy for who know python very well and can dig through pydoc, epydoc and so on. It's a pain for beginners. If Twisted had a good documentation, tutorial, howtos, it would gain lots of new users and developers. I am trying to write some tutorials by myself and helping some friends who is trying to learn Twisted and Twisted.web. This tutorial is on early stage, if someone else is doing the same, I think we could join efforts and make a good tutorial and also explore these pieces that seem to be hidden.
The split of Twisted into separate projects is definitely progress in this direction, because tutorials for each project could be worked out on their own. When I first got into Twisted about a year and a half ago, I had relatively little trouble learning how to use the basics of Twisted, but figuring out how to use each component was (and is) intimidating. Developing a web page in Twisted and writing a chat server, for example, have radically different learning paths to follow. You mentioned you're teaching someone Twisted Web -- is that just the twisted.web/old-woven stuff or are you taking on nevow?
Ken Kinder <ken@kenkinder.com> writes:
The split of Twisted into separate projects is definitely progress in this direction, because tutorials for each project could be worked out on their own. When I first got into Twisted about a year and a half ago, I had relatively little trouble learning how to use the basics of Twisted, but figuring out how to use each component was (and is) intimidating. Developing a web page in Twisted and writing a chat server, for example, have radically different learning paths to follow.
I had the same trouble when I first tried Twisted too. :)
You mentioned you're teaching someone Twisted Web -- is that just the twisted.web/old-woven stuff or are you taking on nevow?
I am using Nevow and trying to build some projects under it. My goal is to create a complete webmail, based on Cyrus IMAP and its features (Sieve, Shared Folders, etc). The frontend must be easy to customize for each customer and I think nevow is the right templating system for that. I tried Quotient, it is excellent, but it is not the right system for my needs.
participants (3)
-
Christiano Anderson
-
Ken Kinder
-
Ken Whitesell