On Sat, 08 Jul 2006 00:14:38 +0100, Phil Mayers <[EMAIL PROTECTED]> wrote:

If Python were Erlang (i.e. had stackless), Twisted would not exist. But it's not, so it does.

I think that Twisted might still exist.  The protocol implementations in the 
standard library are pretty bad and it includes very few servers.  Stackless 
itself, for example, does not include a viable competitor to Twisted (or at 
least it didn't, when I last looked at it).

The idea behind Twisted is, event driven programming is cool, but we need a 
standard event model (reactor) in order to write cooperating event-driven 
programs.  You need this even if your lanaguage supports continuations and 
coroutines, unless the language itself has _very_ good internal process control 
and I/O management -- few do.

Python's recent efforts to grow asynchronous coroutines (yield expressions, 
etc) are a great example of why this is not a language problem, it's a library 
and support and conventions problem.  The language can give you some support, 
but unless the runtime is built around these concepts and already includes the 
support code and conventions that you need, syntax and one-off VM features 
won't help.

The previous two mails encapsulate to my mind the core of the issue. Anyone who needs Twisted, knows it. Anyone who doesn't cannot be persuaded otherwise. They will either discover it, or never need it (and more power to them - but that's not me).

This is not quite true.  There are certainly a lot of Python applications - 
especially the GNOME GUI stuff - that would be a lot better off if they used 
Twisted but there is a cultural opposition or ignorance of Twisted.

Though it rankles, maybe advertising Twisted as a "specialist" framework would make more sense?

It's not specialist though.  It's generally useful in a huge variety of problem domains.  Even if you're just 
doing IPC, not network IO, Twisted can help prevent deadlocks and generally make applications a lot more 
robust.  The "specialist" label is an unnecessary compromise; if our documentation is crap for some 
of those domains, then let's just say *that*, and all work to improve it, rather than pretend that there is 
something wrong with the technology itself as an excuse.  If we officially say "this is not a 
general-purpose tool", then pretty soon all the functionality it provides outside the 
"specialist" area we artificially create for it will atrophy and eventually be removed.

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

Reply via email to