<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Quit Debugging!</title>
	<atom:link href="http://www.hans-eric.com/2007/09/17/quit-debugging/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hans-eric.com/2007/09/17/quit-debugging/</link>
	<description>Hans-Eric Grönlund on software development</description>
	<pubDate>Mon, 08 Sep 2008 11:38:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: I am just a programmer &#187; Quit Debugging!</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-559</link>
		<dc:creator>I am just a programmer &#187; Quit Debugging!</dc:creator>
		<pubDate>Sat, 03 Nov 2007 14:00:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-559</guid>
		<description>[...] read more &#124; digg story [...]</description>
		<content:encoded><![CDATA[<p>[...] read more | digg story [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Fischer</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-266</link>
		<dc:creator>Robert Fischer</dc:creator>
		<pubDate>Wed, 19 Sep 2007 23:00:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-266</guid>
		<description>If you really want safety, check out Ocaml and (if you're feeling daring) Haskell.  The type system can guaranty you all kinds of crap which OO people can only dream about.

Raganwald did a nice post on it:
http://weblog.raganwald.com/2007/07/can-your-type-checking-system-do-this.html</description>
		<content:encoded><![CDATA[<p>If you really want safety, check out Ocaml and (if you&#8217;re feeling daring) Haskell.  The type system can guaranty you all kinds of crap which OO people can only dream about.</p>
<p>Raganwald did a nice post on it:<br />
<a href="http://weblog.raganwald.com/2007/07/can-your-type-checking-system-do-this.html" rel="nofollow">http://weblog.raganwald.com/2007/07/can-your-type-checking-system-do-this.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aare</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-264</link>
		<dc:creator>Aare</dc:creator>
		<pubDate>Wed, 19 Sep 2007 12:17:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-264</guid>
		<description>Actually the testing method I'm suggesting can also be presented in opposite light. All I'm trying to do is automatize testing as much as possible in such cases where fully automatized unit-testing is not possible, in so called system and application level testing. For example if you are using some physics-engine, and algorithm outputs cannot be verified with plain asserts. Then it would be nice to have a framework for iterating test-cases, so that human can "see" algorithm innerworkings, compare and analyze them between execution times.</description>
		<content:encoded><![CDATA[<p>Actually the testing method I&#8217;m suggesting can also be presented in opposite light. All I&#8217;m trying to do is automatize testing as much as possible in such cases where fully automatized unit-testing is not possible, in so called system and application level testing. For example if you are using some physics-engine, and algorithm outputs cannot be verified with plain asserts. Then it would be nice to have a framework for iterating test-cases, so that human can &#8220;see&#8221; algorithm innerworkings, compare and analyze them between execution times.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-263</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Wed, 19 Sep 2007 07:46:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-263</guid>
		<description>"A nice debugger makes it pleasant"

There is the danger. Soon you'll find yourself relying on your debugger, and your unit-tests become second-class citizens (so to speak).

Regarding the "jewels", that risk exists for every program - regardless of the testing technique. It's how you tackle the bug when it surface that matters. I just happen to believe that unit-testing reduces the risk of "jewels" within your code.

Of course I use debuggers every now and then, especially with legacy code, code I haven't written myself. But I have found that with proper test-driven development, I rarely need the debugger.</description>
		<content:encoded><![CDATA[<p>&#8220;A nice debugger makes it pleasant&#8221;</p>
<p>There is the danger. Soon you&#8217;ll find yourself relying on your debugger, and your unit-tests become second-class citizens (so to speak).</p>
<p>Regarding the &#8220;jewels&#8221;, that risk exists for every program - regardless of the testing technique. It&#8217;s how you tackle the bug when it surface that matters. I just happen to believe that unit-testing reduces the risk of &#8220;jewels&#8221; within your code.</p>
<p>Of course I use debuggers every now and then, especially with legacy code, code I haven&#8217;t written myself. But I have found that with proper test-driven development, I rarely need the debugger.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-262</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Wed, 19 Sep 2007 07:32:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-262</guid>
		<description>OK, I can see that you like doing things manually. But I have seen the light, and I'll never go back that road :-)</description>
		<content:encoded><![CDATA[<p>OK, I can see that you like doing things manually. But I have seen the light, and I&#8217;ll never go back that road <img src='http://www.hans-eric.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-261</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Tue, 18 Sep 2007 20:23:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-261</guid>
		<description>Um, testing *is* a form of debugging!  A nice debugger makes it pleasant to step through a bit of code in such a way that you easily grasp what is happening over time.  If you aren't using a debugger along with your testing I would suspect that there are some real "jewels" in your code that nevertheless passes all tests.</description>
		<content:encoded><![CDATA[<p>Um, testing *is* a form of debugging!  A nice debugger makes it pleasant to step through a bit of code in such a way that you easily grasp what is happening over time.  If you aren&#8217;t using a debugger along with your testing I would suspect that there are some real &#8220;jewels&#8221; in your code that nevertheless passes all tests.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aare</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-260</link>
		<dc:creator>Aare</dc:creator>
		<pubDate>Tue, 18 Sep 2007 17:53:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-260</guid>
		<description>Because same as with optimization, premature Automatization is the root of all evil :) 

But seriously, because in the end, it is not computer who analyzes things, but your yourself. And you are not even analyzing these things directly, but from a distant, by writing code in a separate source code file. It's kind a like checking the weather with a c-program instead of looking out of the window yourself.

And do we really need that much speed in testing?  Because if changes to the source code are small, they are done incrementally to a single function of a single class. Then there are only few test-cases affected by these changes, and manually iterating through them would probably be just as fast as writing these changes. (assuming we would have some kind of visualization-unit-based testing framework)

And again when the code changes are big, even our brain-dead programmer would be much faster to go through all test cases, than it would take to re-write and re-automatize all those complex and long forgotten unit-tests.

Yeah, may be I have somekind of automatization-fobia, but I really prefer testing everything manually. One reason for that is that programming work in itself is a lot like "testing everything manually". :)</description>
		<content:encoded><![CDATA[<p>Because same as with optimization, premature Automatization is the root of all evil <img src='http://www.hans-eric.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>But seriously, because in the end, it is not computer who analyzes things, but your yourself. And you are not even analyzing these things directly, but from a distant, by writing code in a separate source code file. It&#8217;s kind a like checking the weather with a c-program instead of looking out of the window yourself.</p>
<p>And do we really need that much speed in testing?  Because if changes to the source code are small, they are done incrementally to a single function of a single class. Then there are only few test-cases affected by these changes, and manually iterating through them would probably be just as fast as writing these changes. (assuming we would have some kind of visualization-unit-based testing framework)</p>
<p>And again when the code changes are big, even our brain-dead programmer would be much faster to go through all test cases, than it would take to re-write and re-automatize all those complex and long forgotten unit-tests.</p>
<p>Yeah, may be I have somekind of automatization-fobia, but I really prefer testing everything manually. One reason for that is that programming work in itself is a lot like &#8220;testing everything manually&#8221;. <img src='http://www.hans-eric.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-258</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Tue, 18 Sep 2007 08:48:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-258</guid>
		<description>Rickard: You are right, the biggest problem of unit-testing is the amount of code it produces and maintenance it requires. But the same things that applies to production code, applies to test code as well: keep your code DRY. Copy and pasting is not a good strategy, not even for testing.

With that said, I've never heard of a property based testing framework that you describe. It sounds really interesting. Do you know of any such framework for other languages? (I haven't had the fortune to learn Haskel or Scala yet)</description>
		<content:encoded><![CDATA[<p>Rickard: You are right, the biggest problem of unit-testing is the amount of code it produces and maintenance it requires. But the same things that applies to production code, applies to test code as well: keep your code DRY. Copy and pasting is not a good strategy, not even for testing.</p>
<p>With that said, I&#8217;ve never heard of a property based testing framework that you describe. It sounds really interesting. Do you know of any such framework for other languages? (I haven&#8217;t had the fortune to learn Haskel or Scala yet)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-257</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Tue, 18 Sep 2007 08:36:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-257</guid>
		<description>Aare, any brain-dead programmer can not do unit-testing as fast as the computer. And even brain-dead programmers get bored testing the same thing over and over and over and over again :-)

I might be missing the point with your idea of visualization-units, but why involve a human being? Why not let the computer analyze?</description>
		<content:encoded><![CDATA[<p>Aare, any brain-dead programmer can not do unit-testing as fast as the computer. And even brain-dead programmers get bored testing the same thing over and over and over and over again <img src='http://www.hans-eric.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I might be missing the point with your idea of visualization-units, but why involve a human being? Why not let the computer analyze?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hans-Eric</title>
		<link>http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-256</link>
		<dc:creator>Hans-Eric</dc:creator>
		<pubDate>Tue, 18 Sep 2007 08:26:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.hans-eric.com/2007/09/17/quit-debugging/#comment-256</guid>
		<description>Yes, James, they do. Just be sure to keep your functions/methods short.</description>
		<content:encoded><![CDATA[<p>Yes, James, they do. Just be sure to keep your functions/methods short.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.274 seconds -->
