<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: You&#8217;re Not Refactoring</title>
	<atom:link href="http://push.cx/2009/youre-not-refactoring/feed" rel="self" type="application/rss+xml" />
	<link>http://push.cx/2009/youre-not-refactoring</link>
	<description>A traveling geek&#039;s blog on development, games, and the web</description>
	<lastBuildDate>Tue, 17 Jan 2012 16:49:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Two Interactions With Amazon - Push cx</title>
		<link>http://push.cx/2009/youre-not-refactoring/comment-page-1#comment-89774</link>
		<dc:creator>Two Interactions With Amazon - Push cx</dc:creator>
		<pubDate>Sun, 18 Jan 2009 03:24:27 +0000</pubDate>
		<guid isPermaLink="false">http://push.cx/?p=400#comment-89774</guid>
		<description>[...] week ago I was writing about refactoring and linked the Amazon pages on my two favorite books. While I was at it, I signed up for their [...]</description>
		<content:encoded><![CDATA[<p>[...] week ago I was writing about refactoring and linked the Amazon pages on my two favorite books. While I was at it, I signed up for their [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Why I Write Tests - Push cx</title>
		<link>http://push.cx/2009/youre-not-refactoring/comment-page-1#comment-89694</link>
		<dc:creator>Why I Write Tests - Push cx</dc:creator>
		<pubDate>Tue, 13 Jan 2009 14:07:08 +0000</pubDate>
		<guid isPermaLink="false">http://push.cx/?p=400#comment-89694</guid>
		<description>[...] I really write tests for all my projects, like I mentioned in the last line of my second email in You&#8217;re Not Refactoring. [...]</description>
		<content:encoded><![CDATA[<p>[...] I really write tests for all my projects, like I mentioned in the last line of my second email in You&#8217;re Not Refactoring. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Harkins</title>
		<link>http://push.cx/2009/youre-not-refactoring/comment-page-1#comment-89683</link>
		<dc:creator>Peter Harkins</dc:creator>
		<pubDate>Mon, 12 Jan 2009 17:25:20 +0000</pubDate>
		<guid isPermaLink="false">http://push.cx/?p=400#comment-89683</guid>
		<description>Actually, most dynamic languages don&#039;t manipulate the vm, they manipulate their interface to it. An out-of-memory condition isn&#039;t created by faking it to the language, it&#039;s created by overriding (the equivalent of) malloc() to raise the out-of-memory exception. Same with other false errors conditions.

I don&#039;t know how much harder it is to override C++&#039;s printf() than it is Ruby&#039;s puts(), but that&#039;s the general strategy.</description>
		<content:encoded><![CDATA[<p>Actually, most dynamic languages don&#8217;t manipulate the vm, they manipulate their interface to it. An out-of-memory condition isn&#8217;t created by faking it to the language, it&#8217;s created by overriding (the equivalent of) malloc() to raise the out-of-memory exception. Same with other false errors conditions.</p>
<p>I don&#8217;t know how much harder it is to override C++&#8217;s printf() than it is Ruby&#8217;s puts(), but that&#8217;s the general strategy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam H</title>
		<link>http://push.cx/2009/youre-not-refactoring/comment-page-1#comment-89678</link>
		<dc:creator>Adam H</dc:creator>
		<pubDate>Mon, 12 Jan 2009 09:40:06 +0000</pubDate>
		<guid isPermaLink="false">http://push.cx/?p=400#comment-89678</guid>
		<description>A lot of the script languages are running in some kind of virtual machine. An upside to virtual machines is that you have some degree of control over them -- you can starve them of memory, you can create false error conditions, etc. You can analyze the box (environment) from both the inside and the outside, which makes testing substantially easier.

In C, there is no box. Put another way, the box is a &lt;i&gt;physical&lt;/i&gt; box, and is less amenable to outside tinkering. We&#039;ve already had several debates at work about setting up virtual machines so that we could do respectable error-case testing of our C++ software, but the technology just isn&#039;t there. Never mind just setting up the virtual machines, how do you determine whether you&#039;ve passed the test?</description>
		<content:encoded><![CDATA[<p>A lot of the script languages are running in some kind of virtual machine. An upside to virtual machines is that you have some degree of control over them &#8212; you can starve them of memory, you can create false error conditions, etc. You can analyze the box (environment) from both the inside and the outside, which makes testing substantially easier.</p>
<p>In C, there is no box. Put another way, the box is a <i>physical</i> box, and is less amenable to outside tinkering. We&#8217;ve already had several debates at work about setting up virtual machines so that we could do respectable error-case testing of our C++ software, but the technology just isn&#8217;t there. Never mind just setting up the virtual machines, how do you determine whether you&#8217;ve passed the test?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Weigel</title>
		<link>http://push.cx/2009/youre-not-refactoring/comment-page-1#comment-89670</link>
		<dc:creator>Matthew Weigel</dc:creator>
		<pubDate>Sun, 11 Jan 2009 06:40:26 +0000</pubDate>
		<guid isPermaLink="false">http://push.cx/?p=400#comment-89670</guid>
		<description>&lt;a href=&quot;http://www.amazon.com/Practice-Programming-Addison-Wesley-Professional-Computing/dp/020161586X/&quot; title=&quot;The Practice of Programming&quot; rel=&quot;nofollow&quot;&gt;The Practice of Programming&lt;/a&gt; also spends a chapter on testing, and focuses pretty much exclusively on testing in C - Kernighan and Pike even spend a few sentences discussing how much easier it is in scripting (or more broadly, interpreted languages), thus motivating them to provide more examples of doing it in C.</description>
		<content:encoded><![CDATA[<p><a href="http://www.amazon.com/dp/020161586X/?tag=pushcx-20" title="The Practice of Programming" rel="nofollow">The Practice of Programming</a> also spends a chapter on testing, and focuses pretty much exclusively on testing in C &#8211; Kernighan and Pike even spend a few sentences discussing how much easier it is in scripting (or more broadly, interpreted languages), thus motivating them to provide more examples of doing it in C.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

