Rumor has it that Antonio Carlini may have mentioned these words:
John Hogerhuis wrote:
Agreed, but nor should anyone really care about
provable
correctness, right? Engineering is about making things that
are practically useful, i.e. "good enough"-- we're not
designing stained glass windows for the Church of Reason,
we're simply making and maintaining tools to solve todays
problems more efficiently than if those tools were not
available.
Certainly we should not immediately drop our coding sticks
and not touch them again until we _know_ we have attained
perfection. But I disagree strongly that we should not strive
to reach that goal.
<MODE="DevilsAdvocate">
Couple of things:
1) In a few instances, we should pick up those "coding sticks" and beat the
living *$&#^@~( out of a few people who should have never been allowed to
code in the first place... ;^>
2) Until we're all clones from a single gene base (and believe you me, you
don't wanna be *my* clone!!!), the goal of "perfection" is unattainable.
I'm not saying that we shouldn't *try*, for that will give us tools better
than what we have now -- but absolute perfection will not be the same for
all people.
Oh, and 3) If "perfection" actually did exist, I doubt any one of us on
this list could afford it... ;-)
If we had a mechanism now to create provably correct
programs (that met specifications that we could be
sure meant what we intended them to mean) - and
further assuming that use of such a mechanism did
not impose excessive cost or efficiency burdens etc, -
then I think we would have to use them for all
serious programs.
Gonna make sure I eat my vegetables, too? ;-)
What happens when the specification itself is wrong, or ambiguous, or
someone writes a virus that infects the "perfection checker" program?
I'd put a lot more faith into 10 people looking over each other's shoulders
than 1 computer program.
Given the choice, I'd prefer the programs I use to
work perfectly rather than imperfectly - and I'd prefer
to spend the time I program at work creating correct
code rather than being dragged back to fix yesterday's
mistake.
I'm more than willing to trade an occasional goto for that!
What happens if the only way to attain "programming perfection" is through
the use of gotos? ;-P
</MODE>
It's a grumpy Friday the 13th... I'll crawl back into my hole now.
;-)
Laterz,
Roger "Merch" Merchberger
--
Roger "Merch" Merchberger | A new truth in advertising slogan
SysAdmin, Iceberg Computers | for MicroSoft: "We're not the oxy...
zmerch at
30below.com | ...in oxymoron!"