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