[Python-Dev] Re: Python multiplexing is too hard (was: Network statistics program)

David Ascher DavidA@ActiveState.com
Fri, 19 May 2000 15:38:16 -0700


> 	> One thing of which I'm certain:  I do NOT like
> 	> documentation entries that say things like
> 	> "select() doesn't really work except under Unix"
> 	> (still true?  Maybe that's been fixed?).
>
> 	Hm, that's bogus.  It works well under Windows -- with the
> restriction
> 	that it only works for sockets, but for sockets it works as well as
> 	on Unix.  it also works well on the Mac.  I wonder where that note
> 	came from (it's probably 6 years old :-).

I'm pretty sure I know where it came from -- it came from Sam Rushing's
tutorial on how to use Medusa, which was more or less cut & pasted into the
doc, probably at the time that asyncore and asynchat were added to the
Python core.  IMO, it's not the best part of the Python doc -- it is much
too low-to-the ground, and assumes the reader already understands much about
I/O, sync/async issues, and cares mostly about high performance.  All of
which are true of wonderful Sam, most of which are not true of the average
Python user.

While we're complaining about doc, asynchat is not documented, I believe.
Alas, I'm unable to find the time to write up said documentation.

--david

PS: I'm not sure that multiplexing can be made _easy_.  Issues like
block/nonblocking communications channels, multithreading etc. are hard to
ignore, as much as one might want to.