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

Cameron Laird claird@starbase.neosoft.com
Fri, 19 May 2000 17:02:47 -0500 (CDT)


	From guido@cj20424-a.reston1.va.home.com  Fri May 19 07:26:16 2000
			.
			.
			.
	> Consider:
	> 
	> 	- In Tcl, as you said, this is nicely integrated with the GUI's 
	> 	  event queue:
	> 		- on unix, by a an additional bit on X's fd (socket) in 
	> 		  the select()
	> 		- on 'doze, everything is brought back to messages 
	> 		  anyway.
	> 
	> 	And, in both cases, it works with pipes, sockets, serial or other
	> devices. Uniform, clean.
	> 
	> 	- In python "popen only really works on Unix": are you satisfied with
	> that state of affairs ? I understand (and value) Python's focus on
	> algorithms and data structures, and worming around OS misgivings is a
	> boring, ancillary task. But what about the potential gain ?
	> 
	> I'm an oldtime Tcler, firmly decided to switch to Python, 'cause it is
	> just so beautiful inside. But while Tcl is weaker in the algorithms, it
	> is stronger in the os-wrapping library, and taught me to love high-level
	> abstractions. [fileevent] shines in this respect, and I'll miss it in
	> Python.
	> 		
	> -Alex

	Alex, it's disappointing to me too!  There just isn't anything
	currently in the library to do this, and I haven't written apps that
	needs this often enough to have a good feel for what kind of
	abstraction is needed.

	However perhaps we can come up with a design for something better?  Do
	you have a suggestion here?

	I agree with your comment that higher-level abstractions around OS
	stuff are needed -- I learned system programming long ago, in C, and
	I'm "happy enough" with the current state of affairs, but I agree that
	for many people this is a problem, and there's no reason why Python
	couldn't do better...

	--Guido van Rossum (home page: http://www.python.org/~guido/)
Great questions!  Alex and I are both working
on answers, I think; we're definitely not ig-
noring this.  More, in time.

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?).  As a
user, I just find that intolerable.  Sufficiently
intolerable that I'll help change the situation?
Well, I'm working on that part now ...