Subj : Re: Not debugging? (was: How much should I charge for fixed-price ...) To : comp.programming,comp.lang.java.programmer,comp.lang.lisp From : rem642b Date : Fri Sep 02 2005 08:56 pm > From: Roedy Green > Up until the mid 70s, you could only count on one compile/run a day > per project. Speak for yourself! As early as 1964 I was able to get more than one compile/run per day, and often I would stay in the computer room late at night to have the computer all to myself for hours. One night I was there almost all night. When I got back to my car to drive home, and turned on the car radio, all the radio stations were covering the Crescent City tsunami from the Alaska earthquake, so you know one such night down to the exact date! Starting in 1970 I could get several compile/runs per hour on the PDP-10. > today's programs are so big, there is no way you could exhaustively > watch them over every code path. But you can protect every module from bad data coming in, and from bugs that cause bad data going out, and from bugs that cause syntactically bad intermediate results, merely by having asserts at those point. (Of course a bug that produces syntactically valid but inappropriate output can't be detected by that means.) > Because finding and fixing bugs is so easy, we tend to be more > careless about writing code in the first place. Speak for yourself! I'm not like that. I try to get each line of code working correctly before moving to the next, and each function working in all reasonable cases before starting work on the next function. > Dr. Kennedy, the head of our computer science department bragged that > he had never had a compile error. He was a fanatical desk checker. Too bad he didn't know about Lisp, whereby he could replace a lot of that desk checking with live testing, which is much faster and more complete in some ways, leaving the desk checking only for those few cases where it's better than live testing. .