[plt-scheme] Computers considered harmful

From: hendrik at topoi.pooq.com (hendrik at topoi.pooq.com)
Date: Thu May 7 09:47:22 EDT 2009

On Thu, May 07, 2009 at 03:42:13PM +0300, Ivan Altaparmakov wrote:
> hi 
> this was neglectable part of my post :))) 
> the more important part was the rest of my post :))) 
> i think the tendency in programming  
> is that "to program" would mean 
> to explain the problem to the computer in such a way 
> that it would be able to solve by it self 
> (one of steps in this direction is HtDP i think and all 
> ideas of functional and logic programming).
> there would be no "debugging"  
> only correction of your explanation. 
> for this is needed only skills of the mind 
> which could be achieved even without computer ... 
> although it is better if there is a computer :))) 
> how i know the first ever computer program was written 
> when the computer was only draft on paper  

The first program ever to be run on a stored-program computer was, I'm 
told, a sorting program.  When it didn't work, the engineers spent a 
long time examining the hardware.  Eventually it dawned on them that the 
program itself might be at foult.  When they examined memory, they 
couldn't make sense of it.  It turned out that there was a bug in the 
way that they had set index registers, and that the program had started 
sorting itself.

It's also the case that in one early book on programming in which every 
program was proved correct by hand, many of said programs actually 
didn't run when placed on an actual machine.  Issues like integer 
overflow hadn't been considered.  Without which, of course, the whole 
formal reasoning process was seriously flawed.

I think there's a serious illusion that formal verification and careful 
thought can replace debugging.  Maybe someday, but not yet.

And that's without even going into the question of programs that have to 
survive hardware failures.

-- hendrik

Posted on the users mailing list.