So, there are two ways to do things, an easy way and a hard way. Once you've done it the easy way, it's probably a lot easier to cover up the traces and make it look like you did it the hard way.
And a guy who is famous both for being incredibly clever and for being rather arrogant and insecure told all his competitors that they were incompetent if they didn't do it the hard way.
Programming is a form of mathematics. Maths papers are terse and beautiful and look as though they have sprung fully armed from the head of Zeus.
But you don't see the days of hacking through examples and crazy leaps of intuition (that are almost always wrong) in the finished paper, because the mathematician removes them from the story in order to leave an argument that is easy to verify.
I am not saying that Dijkstra couldn't do things the hard way. I would be amazed if his best stuff was done the hard way.
I think it really depends on how well you know the underlying system. Once, I was working on a project written in object pascal and I got to the point where opening the debugger was on average the slower approach to solving most problems. However, I am no where near that point when writing .Net code because the language and the platform became to complex for me to really understand.
I like this experimental approach, it's like debugging, except you can also edit what inputs you accept. But is it actually accepted by mathematicians as an accurate description of what they do?
http://en.wikipedia.org/wiki/Proofs_and_Refutations
And a guy who is famous both for being incredibly clever and for being rather arrogant and insecure told all his competitors that they were incompetent if they didn't do it the hard way.
Programming is a form of mathematics. Maths papers are terse and beautiful and look as though they have sprung fully armed from the head of Zeus.
But you don't see the days of hacking through examples and crazy leaps of intuition (that are almost always wrong) in the finished paper, because the mathematician removes them from the story in order to leave an argument that is easy to verify.
I am not saying that Dijkstra couldn't do things the hard way. I would be amazed if his best stuff was done the hard way.