From: "Antonio Carlini" <a.carlini at ntlworld.com>
Sent: Thursday, May 12, 2005 5:50 PM
  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 
One big problem with goto comes from Fortran, with FORTRAN and early Basic's
the goto uses line numbers.  Newer languages allow better labels:
      go to 4000
Doesn't tell you much.
C
C  Cleanup files and exit
C
     go to 4000
This at least tells you something.
Another problem is that many programmers don't understand the compilers they
are using.  If you don't understand how the compiler handles stacks etc then
we know where the problem is:  It is the Programmers fault for using a tool
that they don't understand.
It is a problem with the Programmers not the tools.  It reminds me of
stopping to help someone with a flat tire:
It was a young guy with a new car with his girlfriend.  He had a scissor
jack that he had just shoved under the car and jacked it up.  He had it
under the passenger side floor board and it punched through.  Someone else
had stopped and lent him an old-fashioned bumper-jack.  It had ripped
through the plastic bumper.
When I stopped he was angry and unwilling to accept any help, it was sad,
thousands of dollars worth of damage over a flat tire.
It was not either of the jacks fault that they had done all the damage to
the car, both jacks were able to do the job that they were designed for but
the guy was not trained in how to use them but felt he was smart enough to
know what he was doing.
Randy
www.s100-manuals.com