[Twisted-Python] win32 reactors
james at mansionfamily.plus.com
Sun Apr 6 16:53:00 EDT 2008
Phil Christensen wrote:
> Wasteful coding? Who do you think you're talking to here?
I am suggesting that the '90% coding' suggests to me that design
discussion starts when
most of a concrete implementation is available. It wasn't your term but
you have taken
offence at what I said.
Well, I disagree. I find it strange that there should be such a
rejection of the idea
that one can achieve some degree of concensus on a design approach before
coding starts. It seems to me very wasteful if someone should expend time
getting an implementation 'mostly there' if in fact there is a devil in
the detail that
will come up and bite it and invalidate the whole thing - and the only
do that is to be prepared to discuss abstract design approaches *before*
Even if there is no resource available to code it, it can leave a documented
concencus that can be used to bootstrap implementation when resource
There are some aspects of system design relating to distributed and
systems that are *not* amenable to iterative refinement and refactoring
can't generally test and refactor your way out of a design that is
deadlock prone, for example.
It may be that the way that people like to 'collaborate' in open source
generally extend to design review, but that's wasteful and ultimately
exactly the same reasons it is in everyday work, and it suggests a
limited view of what 'collaboration' and 'teamwork' means in the context
of software development. You can't force wouldbe contributors to do
differently, and ultimately you may get results that work, but its very
and there have been some high-profile attempted contributions to (say)
kernel that have been bounced after huge amounts of work, when it would have
been apparent that the design approach would never be accepted if it had
reviewed up front. In some respects the BSD projects' approaches (or at
aspirations) make them more attractive. Sometimes, anyway.
It would just be nice to find a project where design is welcomed rather than
some macho 'code is king' bullshit. Would you be happy to work on a team
at work that spends so little time on design? Why should working on a
distributed volunteer team be materially different?
The question really is whether you want to encourage collaboration of
design and design review, or not?
More information about the Twisted-Python