OT: Crazy Programming

Andrew Dalke dalke at dalkescientific.com
Wed May 15 09:21:28 EDT 2002


Max M:
>Bridge building is much simpler than programming.

What does that mean?  A simple roadway bridge takes (I imagine)
a dozen people over a couple days.  A simple program can be
written by one person in a single day.

How do you compare the Skyway bridge in Florida to Python?
The Bay Bridge in San Francisco to MS Outlook?

>If we only made the same kind of software for years and had been thought
>in school exactly how to build that kind of software I would bet that it
>would be great software.

You might also be interested in reading Henry Petroski's "To Engineer
is Human."  Quoting from p81 in my copy (and but one of many quotes
I could have used)

  The engineering task of designing a bridge shared qualities with
  the tasks of both poetry and science.  Like poetry the exact bridge
  one designer conceives to span a given space during a given technical
  era may never exist in the mind of any other engineer at any other
  time.  Yet, like discoveries in science, if the theoretical and
  motivational foundations for a bridge are laid, then a bridge will
  be build, and it will be <i>the</i> bridge or that place and time
  no matter who designed it.  No poetic license is allowed in the design
  of the details of the bridge, for an erratic line on the blueprint
  or an eccentric number in a claculation can be the downfall of the
  structure, no matter how much like a sound bridge it looks on paper.
  And today, if a computer is used, even so small an error as an
  inadvertent slip of a punctuation mark, decimal point, or sign in
  an equation can lead to a bridge that fails even if the computer
  model works.

Anyway, there's quite a bit there on building bridges, and the
philosophy of engineering in general.  The book goes into why
engineering fails.  For example, it mentions a cartoon by Ton
Auth
  ... the falling Skylab striking a flying DC-10, itself loaded
  with Ford Pintos fitted with Firestone 500 tires, with the
  entire wreckage falling on Three Mile Island, where the fire
  would be extinguished with asbestos hair dryers.

BTW, as far as I can tell the reason for the difference is that
bridge failures kill people.  Software, for the most part, doesn't.
(That which could is often built to better standards.)  And people
have decided with their economic power that they are willing to
buy buggy software that does at least something useful rather than
wait or pay more for good software.

I think it also something to do with the tendency of most people
to ignore small problems, nor realizing they add up.  It takes
my machines about 4 minutes to (re)boot.  If I sit around waiting
for them every day I waste about 20 hours of my life a year just
waiting.  If there are 100 million computer users, that's 4,000
people lives wasted in a bootup, per year.  (Assuming I did my
math right.)  Yet people are willing to put up with "oh, it's only
a few minutes each day."

                    Andrew






More information about the Python-list mailing list