[Twisted-Python] Bloat (was Re: [Twisted-commits] DependentMultiService - chained start/stop of services in a sensible order)

Glyph Lefkowitz glyph at twistedmatrix.com
Sun Apr 13 22:42:29 EDT 2003

Hash: SHA1

On Sunday, April 13, 2003, at 08:36 PM, Steve Waterbury wrote:

> On Sun, 2003-04-13 at 20:32, Glyph Lefkowitz wrote:
>> This patch is a band-aid on an already crummy and huge interface
>> (twisted.internet.app is nasty; ask anyone who has had to work on its
>> internals) which makes it even crummier and huger.
> I may be missing something, but this seems like a non-sequitur ...
> isn't the putative crumminess and/or hugeness of its interface
> independent of the nastiness of its internals?  (Or at least,
> shouldn't it be ...?  But maybe that's part of what you're
> saying ...)

Yeah, the problem is that the interface is sufficiently ill-specified 
and lacking in features that folks will depend upon the internals for 
complete semantics.  The goal is to have as few intermediary versions 
of the internal semantics before we arrive at something well-specified 
and good :).

>> My concern is that some ill-thought-out parts of Twisted 
>> (twisted.cred,
>> twisted.internet.app) will become calcified behind a wide and fragile
>> interface that prevents any hope for refactoring.  So far, development
>> on these kinds of problem areas has been fairly dynamic, because they
>> have been kept small and simple.  However, the inevitable weight of
>> history is already slowing down more improvement.  ...
> This does not make me feel warm and fuzzy.  ;^)  Okay,
> I admit to having had bad thoughts about cred ... how much
> work do you see it needing?  (Because I'm fixin' to use it
> in the near future ... :^)

If I knew exactly how much work it needed, then the work would probably 
have begun :).

However, cred is in an acceptable state at the moment.  Most of the 
cruddiness has to do with backwards-compatibility hacks to a 
significantly worse version of itself.  When these get removed (circa 
Twisted 1.1), there are still a few semantic holes that need to be 
filled, such as the real utility of MultiService, but all in all it 
works as-is.

It's in a much less bad state than twisted.internet.app, at least in my 
opinion ;)
Version: GnuPG v1.2.1 (Darwin)


More information about the Twisted-Python mailing list