<div dir="ltr">On Sun, Apr 28, 2013 at 6:10 PM, Richard A. O&#39;Keefe <span dir="ltr">&lt;<a href="mailto:ok@cs.otago.ac.nz" target="_blank">ok@cs.otago.ac.nz</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Damn!  Why did Watts Humphrey have to die before he&#39;d convinced<br>
the world that the cheapest way to fix bugs is to keep them out<br>
in the first place?</blockquote><div><br></div><div style>I think that much has to do with the historical division in computer science.  We have mathematics on the right hand, and electrical engineering on the wrong one.  The electrical engineers were unduly influential in the 1960s, 70s, and 80s.  The effects of such influence are still being felt.  The average software developer thinks that mathematics, with its goody-two-shoes focus on soundness and validity, and all those hard to say words, is /too hard/.  And as Kernighan once said,</div>
<div style><br></div><div style>&quot;<span style="color:rgb(0,0,0);font-family:sans-serif;font-size:13px;line-height:19.1875px">Everyone knows that debugging is twice as hard as writing a program in the first place. So if you&#39;re as clever as you can be when you write it, how will you ever debug it?&quot;</span></div>
<div style><span style="color:rgb(0,0,0);font-family:sans-serif;font-size:13px;line-height:19.1875px"><br></span></div><div style><font color="#000000" face="sans-serif"><span style="line-height:19.1875px">I&#39;ve been scoffed at during interviews for saying I solve problems on paper before I start typing!  Obviously, names, types, and arrows on recycled printer paper are too clever by half.</span></font></div>
</div></div></div>