<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: How should a program behave?</title>
	<link>http://www.rfc1149.net/blog/2005/04/24/how_should_a_program_behave/</link>
	<description>Samuel Tardieu's dual-sided blog</description>
	<pubDate>Fri, 25 Jul 2008 12:42:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Samuel Tardieu</title>
		<link>http://www.rfc1149.net/blog/2005/04/24/how_should_a_program_behave/#comment-101</link>
		<dc:creator>Samuel Tardieu</dc:creator>
		<pubDate>Mon, 25 Apr 2005 00:52:40 +0000</pubDate>
		<guid>http://www.rfc1149.net/blog/2005/04/24/how_should_a_program_behave/#comment-101</guid>
		<description>Thomas, I could not agree more. However, when working on an assignment, or on an program which is needed really fast (such as a Forth compiler for a robotics cup which takes place a few days after you start writing the compiler), it is much more important in my opinion to produce valid output for &lt;b&gt;any&lt;/b&gt; valid input than to reject any invalid code.</description>
		<content:encoded><![CDATA[<p>Thomas, I could not agree more. However, when working on an assignment, or on an program which is needed really fast (such as a Forth compiler for a robotics cup which takes place a few days after you start writing the compiler), it is much more important in my opinion to produce valid output for <b>any</b> valid input than to reject any invalid code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas</title>
		<link>http://www.rfc1149.net/blog/2005/04/24/how_should_a_program_behave/#comment-100</link>
		<dc:creator>Thomas</dc:creator>
		<pubDate>Sun, 24 Apr 2005 21:33:26 +0000</pubDate>
		<guid>http://www.rfc1149.net/blog/2005/04/24/how_should_a_program_behave/#comment-100</guid>
		<description>Unfortunately, in my experience, accepting invalid input is more often than not the symptom of a poor design that happens to produce correct results for valid input by sheer luck rather than by construction.

Achieving rejection of all invalid inputs often requires fundamental changes that eventually lead to a correct design, which is unsuprisingly difficult.

As the saying goes, for every complicated problem, there is one solution that is simple, elegant, and wrong. This is usually the one that you stumble upon in the first phase.</description>
		<content:encoded><![CDATA[<p>Unfortunately, in my experience, accepting invalid input is more often than not the symptom of a poor design that happens to produce correct results for valid input by sheer luck rather than by construction.</p>
<p>Achieving rejection of all invalid inputs often requires fundamental changes that eventually lead to a correct design, which is unsuprisingly difficult.</p>
<p>As the saying goes, for every complicated problem, there is one solution that is simple, elegant, and wrong. This is usually the one that you stumble upon in the first phase.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
