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.
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.
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!
Antonio
--
---------------
Antonio Carlini arcarlini at
iee.org