durusmail: quixote-users: OT: Symmetry vs. Assymetry
OT: Symmetry vs. Assymetry
2004-09-24
2004-09-24
2004-09-24
2004-09-24
2004-09-24
OT: Symmetry vs. Assymetry
Martin Maney
2004-09-24
On Fri, Sep 24, 2004 at 09:25:02AM -0400, Graham Fawcett wrote:
> I'm reminded of an excellent essay, "Disappearing into the Code",
> excerpted from Ellen Ullman's book, "Close to the Machine":
>
>   *The project begins* in the programmer's mind with the beauty of a
>   crystal. I remember the feel of a system at the early stages of
>   programming, when the knowledge I am to represent in code seems
>   lovely in its structuredness. For a time, the world is a calm,
>   mathematical place. Human and machine seem attuned to a
>   cut-diamond-like state of grace....

This sounds like my experience with toy programs.  In the real world the
projects I undertake tend to start out as a horrible mess of existing
practices, data flows, and so forth.  Unless he's referring to that
trivial early moment when you have a beautiful, simple model because
it's based on a woefully incomplete description of the work, probably
by someone who isn't familiar with how it's actually done at all, and
anyone who's been through that once ought to know it for the illusion
it is.

Oh, there are moments like that, when I think I've found the unifying
principle that will collapse at least one large molehill of
complications.  It's not so much that I'm wrong as that once the hill
has been flattened, lesser irregularities that hadn't been so
noticeable stand out much more clearly.  And every now and then the
molehill does turn out to have been a thin layer of dirt over an
intrusion of solid stone.  :-/

The point at which I'm no longer able to make forward progress against
the complications is the moment at which the program passes into the
slow decline to its eventual collapse.  This is perhaps the most
important thing that time and experience have brought me as a
programmer: I can, these days, find useful improvements in messes that
used to overwhelm me.  I'd like to think I'm better at avoiding messes,
too, but that's harder to be confident of without a more detached view
of my work than I can achieve.

Ullman's vision reminds me of a passage from C. S. Lewis, quoted by
Brooks in The Mythical Man-Month, of course.  Where else would a
programmer run across it?  :-)

  That is the key to history.  Terrific energy is expended - civilizations
  are built up - excellent institutions devised; but each time something
  goes wrong.  Some fatal flaw always brings the selfish and cruel people
  to the top, and then it all slides back into misery and ruin.  In fact,
  the machine conks.  It seems to start up all right and runs a few yards,
  and then it breaks down.

--
One Zone to rule them all, One Zone to find them,
One Zone to name them all and in the domain bind them,
In the Land of DotCom where the Spammers lie.


reply