[plt-scheme] Computers considered harmful
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