[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 ...