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
Graham Fawcett
2004-09-24
Oscar Rambla wrote:

> In his theory affirms that simple organisms are more symmetric than
> complex organisms. Complex organisms maintains symmetry in what is
> necessary for movement, attraction or other conditionants while tend
> to become
> more assymmetric in other aspects to improve its effectiveness.
>
>
When programming (esp. when programming in an 'organic' manner, without
reams of specifications that have been hammered out by someone else), we
tend to look for the essence of the system we're trying to build, and
focus on that in our code. We're looking for simplicity -- the "do one
thing, and do it well" motivation that is so apparent, for example, in
the standard Unix command line tools.

Pure systems must adapt to meet human needs, however, and must fit the
problem at hand, not hold tightly to abstract concepts like simplicity,
purity, even efficiency. And since people are asymmetric by nature (!),
perhaps it follows that systems with which people interact must be
antrhopomorphized, and must grow irregular bumps, extra handles and dark
corners.

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

   Then something happens. As the months of coding go on, the
   irregularities of human thinking start to emerge. You write some
   code, and suddenly there are dark, unspecified areas. All the pages
   of careful design documents, and still, between the sentences,
   something is missing. Human thinking can skip over a great deal,
   leap over small misunderstandings, can contain ifs and buts in
   untroubled corners of the mind. But the machine has no corners....
   In the painstaking working out of the specification, line by code
   line, the programmer confronts an awful, inevitable truth: the ways
   of human and machine understanding are disjunct.

   ....A long list of exceptional situations is revealed, things that
   occur very rarely but that occur all the same. Should these be
   programmed? Yes, of course. How else will the system do the work
   human beings need to accomplish? Details and exceptions accumulate.
   Soon the beautiful crystal must be recut. This lovely edge and that
   are lost. What began in a state of grace soon reveals itself to be a
   jumble. The human mind, as it turns out, is messy.

http://archive.salon.com/21st/feature/1997/10/cov_09ullman2.html

Thanks, Oscar, for starting my Friday on a lateral note -- an enjoyable
diversion. :-)

-- Graham




reply