<?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: Code Reads #2: Dijkstra&#8217;s &#8220;Go To Statement Considered Harmful&#8221;</title>
	<atom:link href="http://www.wordyard.com/2006/10/10/dijkstra-goto/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/</link>
	<description>Technology, politics, culture</description>
	<pubDate>Fri, 04 Jul 2008 06:14:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Jarrett House North &#187; Blog Archive &#187; Around the &#8217;sphere: Thank U</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-2892</link>
		<dc:creator>Jarrett House North &#187; Blog Archive &#187; Around the &#8217;sphere: Thank U</dc:creator>
		<pubDate>Tue, 29 Apr 2008 17:58:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-2892</guid>
		<description>[...] to Scott Rosenberg for a fascinating series on key written works that have influenced programming culture. I had never heard of Edsger Dijkstra&#8217;s &#8220;Humble Programmer&#8221; lecture but am [...]</description>
		<content:encoded><![CDATA[<p>[...] to Scott Rosenberg for a fascinating series on key written works that have influenced programming culture. I had never heard of Edsger Dijkstra&rsquo;s &ldquo;Humble Programmer&rdquo; lecture but am [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: language considered harmful II &#171; ZEITGEISTING&#160;&#160;&#160;&#160;&#160;p a t t e r n&#160;&#160;r e c o n n a i s s a n c e</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-2307</link>
		<dc:creator>language considered harmful II &#171; ZEITGEISTING&#160;&#160;&#160;&#160;&#160;p a t t e r n&#160;&#160;r e c o n n a i s s a n c e</dc:creator>
		<pubDate>Fri, 14 Mar 2008 08:40:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-2307</guid>
		<description>[...] i found: - a small entry in wikipedia about the &#8220;considered harmful&#8221;-slogan, and - a blog-entry about this article (by a writer called Scott Rosenberg, who sais: &#8220;The content of [...]</description>
		<content:encoded><![CDATA[<p>[...] i found: - a small entry in wikipedia about the &#8220;considered harmful&#8221;-slogan, and - a blog-entry about this article (by a writer called Scott Rosenberg, who sais: &#8220;The content of [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TDD Considered Harmful? - Jacob Proffitt</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-2110</link>
		<dc:creator>TDD Considered Harmful? - Jacob Proffitt</dc:creator>
		<pubDate>Sat, 23 Feb 2008 02:28:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-2110</guid>
		<description>[...] I'm going to catch it for that title. Okay, let me get this out up front: this post is a hypothesis that I consider probable. That's why [...]</description>
		<content:encoded><![CDATA[<p>[...] I&#8217;m going to catch it for that title. Okay, let me get this out up front: this post is a hypothesis that I consider probable. That&#8217;s why [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shaft oj</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-271</link>
		<dc:creator>shaft oj</dc:creator>
		<pubDate>Mon, 09 Jul 2007 19:22:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-271</guid>
		<description>Hi Scott,
am a new beginner on Basic Programming and i have a problem solving a question on BASIC and the question goes like:

Determine the purpose of each of the following pieces of code and re-write them so that they do not use any GOTO statement.

A:
10 x=1
20 if x &#62; 500 THEN GOTO 60
30 PRINT x ; SQR (x) ; x+500 ; SQR(x+500)
40 X = x+1
50 GOTO 20
60 END

B:
10 I = 0
20 if I &#62; 10 THEN 60
30 PRINT I ;
40 I = I + 1
50 GOTO 20
60 I = 1
70 IF I &#62; 10 THEN GOTO 170
80 PRINT I ;
90 J = 1
100 IF J &#62; 10 THEN GOTO 140
110 PRINT I * J
120 J = J + 1
130 GOTO 100
140 PRINT
150 I = I + 1
160 GOTO 70
170 END

I will be glad if i could be able to get a solution to this problem via my email address mib4life55@yahoo.com
Thanks
oj</description>
		<content:encoded><![CDATA[<p>Hi Scott,<br />
am a new beginner on Basic Programming and i have a problem solving a question on BASIC and the question goes like:</p>
<p>Determine the purpose of each of the following pieces of code and re-write them so that they do not use any GOTO statement.</p>
<p>A:<br />
10 x=1<br />
20 if x &gt; 500 THEN GOTO 60<br />
30 PRINT x ; SQR (x) ; x+500 ; SQR(x+500)<br />
40 X = x+1<br />
50 GOTO 20<br />
60 END</p>
<p>B:<br />
10 I = 0<br />
20 if I &gt; 10 THEN 60<br />
30 PRINT I ;<br />
40 I = I + 1<br />
50 GOTO 20<br />
60 I = 1<br />
70 IF I &gt; 10 THEN GOTO 170<br />
80 PRINT I ;<br />
90 J = 1<br />
100 IF J &gt; 10 THEN GOTO 140<br />
110 PRINT I * J<br />
120 J = J + 1<br />
130 GOTO 100<br />
140 PRINT<br />
150 I = I + 1<br />
160 GOTO 70<br />
170 END</p>
<p>I will be glad if i could be able to get a solution to this problem via my email address <a href="mailto:mib4life55@yahoo.com">mib4life55@yahoo.com</a><br />
Thanks<br />
oj</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: shaft oj</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-269</link>
		<dc:creator>shaft oj</dc:creator>
		<pubDate>Mon, 09 Jul 2007 18:41:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-269</guid>
		<description>Hi Scott,
am a new beginner on Basic Programming and i have a problem solving a question on BASIC and the question goes like:

Determine the purpose of each of the following pieces of code and re-write them so that they do not use any GOTO statement.

A:
10 x=1
20 if x &#62; 500 THEN GOTO 60
30 PRINT x ; SQR (x) ; x+500 ; SQR(x+500)
40 X = x+1
50 GOTO 20
60 END

B:
10 I = 0
20 if I &#62; 10 THEN 60
30 PRINT I ;
40 I = I + 1
50 GOTO 20
60 I = 1
70 IF I &#62; 10 THEN GOTO 170
80 PRINT I ;
90 J = 1
100 IF J &#62; 10 THEN GOTO 140
110 PRINT I * J
120 J = J + 1
130 GOTO 100
140 PRINT
150 I = I + 1
160 GOTO 70
170 END

I will be glad if i could be able to get a solution to this problem via my email address.
Thanks
oj</description>
		<content:encoded><![CDATA[<p>Hi Scott,<br />
am a new beginner on Basic Programming and i have a problem solving a question on BASIC and the question goes like:</p>
<p>Determine the purpose of each of the following pieces of code and re-write them so that they do not use any GOTO statement.</p>
<p>A:<br />
10 x=1<br />
20 if x &gt; 500 THEN GOTO 60<br />
30 PRINT x ; SQR (x) ; x+500 ; SQR(x+500)<br />
40 X = x+1<br />
50 GOTO 20<br />
60 END</p>
<p>B:<br />
10 I = 0<br />
20 if I &gt; 10 THEN 60<br />
30 PRINT I ;<br />
40 I = I + 1<br />
50 GOTO 20<br />
60 I = 1<br />
70 IF I &gt; 10 THEN GOTO 170<br />
80 PRINT I ;<br />
90 J = 1<br />
100 IF J &gt; 10 THEN GOTO 140<br />
110 PRINT I * J<br />
120 J = J + 1<br />
130 GOTO 100<br />
140 PRINT<br />
150 I = I + 1<br />
160 GOTO 70<br />
170 END</p>
<p>I will be glad if i could be able to get a solution to this problem via my email address.<br />
Thanks<br />
oj</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Code Read 2 - Dijkstra on Goto &#187; Skillful Software</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-270</link>
		<dc:creator>Code Read 2 - Dijkstra on Goto &#187; Skillful Software</dc:creator>
		<pubDate>Mon, 28 May 2007 12:49:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-270</guid>
		<description>[...] arguing that the &#8220;goto&#8221; statement was bad for programmers and the programs they wrote. Week 2 of Code Reads covers this [...]</description>
		<content:encoded><![CDATA[<p>[...] arguing that the &#8220;goto&#8221; statement was bad for programmers and the programs they wrote. Week 2 of Code Reads covers this [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave Cattarin</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-268</link>
		<dc:creator>Dave Cattarin</dc:creator>
		<pubDate>Thu, 19 Oct 2006 14:29:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-268</guid>
		<description>Maybe, but that sounds too much like the fabled "silver bullet".

Anyway, as much as we may dislike it, the choice of a language for a project tends to be more of a political/economic decision. So, we just have to make the best of the tools we have to do our jobs.</description>
		<content:encoded><![CDATA[<p>Maybe, but that sounds too much like the fabled &#8220;silver bullet&#8221;.</p>
<p>Anyway, as much as we may dislike it, the choice of a language for a project tends to be more of a political/economic decision. So, we just have to make the best of the tools we have to do our jobs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Boris</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-267</link>
		<dc:creator>Boris</dc:creator>
		<pubDate>Thu, 19 Oct 2006 08:01:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-267</guid>
		<description>I've come to conclusion, that life is too complicated to consider anything harmful in computer languages. The complete freedom in choosing programming tools and paradigms is the answer. Goto... Multiple Inheritance... Pattern Matching... Garbage Collector... Deterministic memory release  if all this could be combined in one language it woud be the ultimative language, could it? :)</description>
		<content:encoded><![CDATA[<p>I&#8217;ve come to conclusion, that life is too complicated to consider anything harmful in computer languages. The complete freedom in choosing programming tools and paradigms is the answer. Goto&#8230; Multiple Inheritance&#8230; Pattern Matching&#8230; Garbage Collector&#8230; Deterministic memory release  if all this could be combined in one language it woud be the ultimative language, could it? :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Sampson</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-266</link>
		<dc:creator>Curt Sampson</dc:creator>
		<pubDate>Thu, 19 Oct 2006 04:56:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-266</guid>
		<description>Actually, a paragraph near the end of Guy Steele's &lt;a href="http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-443.pdf" rel="nofollow"&gt;
Lambda: The Ultimate GOTO &lt;/a&gt; bears repeating here:

&lt;blockquote&gt;
This is the essential frustration we have experienced with GOTO. We discovered that GOTO was often being used even in situations where more appropriate and expressive constructs were available, and that it was being used for all sorts of purposes we hadn't anticipated, and so we sought to eliminate unwanted &lt;i&gt;concepts&lt;/i&gt; and &lt;i&gt;programming styles&lt;/i&gt; by banning a &lt;i&gt;construct&lt;/i&gt;. This is just as fruitless as eliminating iteration by banning DO-loops would be (people would just use GOTO or procedure calls), or eliminating recursion by banning procedure calls (people would, and do, simulate it by using an array as a stack). We need to get a better grasp on organizational concepts and their relationship to the individual constructs which make up our languages.
&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>Actually, a paragraph near the end of Guy Steele&#8217;s <a href="http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-443.pdf" rel="nofollow"><br />
Lambda: The Ultimate GOTO </a> bears repeating here:</p>
<blockquote><p>
This is the essential frustration we have experienced with GOTO. We discovered that GOTO was often being used even in situations where more appropriate and expressive constructs were available, and that it was being used for all sorts of purposes we hadn&#8217;t anticipated, and so we sought to eliminate unwanted <i>concepts</i> and <i>programming styles</i> by banning a <i>construct</i>. This is just as fruitless as eliminating iteration by banning DO-loops would be (people would just use GOTO or procedure calls), or eliminating recursion by banning procedure calls (people would, and do, simulate it by using an array as a stack). We need to get a better grasp on organizational concepts and their relationship to the individual constructs which make up our languages.
</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curt Sampson</title>
		<link>http://www.wordyard.com/2006/10/10/dijkstra-goto/#comment-233</link>
		<dc:creator>Curt Sampson</dc:creator>
		<pubDate>Tue, 17 Oct 2006 05:13:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.wordyard.com/?p=1141#comment-233</guid>
		<description>I disagree that, "the specifics of the paper may have been rendered irrelevant by the march of time." The main point of the paper does not seem to be gotos themselves, but rather their effect on programmers' ability to intuit what the state of a set of variables might be at any given point in a program's execution. And indeed, intuiting this incorrectly is a major source of program errors.

"Structured programming" has helped greatly with this, but I think we have yet a long way to go. Purely functional languages are one attempt to take the next major step in improving this situation, and are possibly an even more radical step than that from gotos to structured programming.

I'd suggest having a look at Haskell for some ideas on where we might go from here. That language uses some interesting ways of making it easier to intuit state, mostly by getting rid of state. There is no way to change the value of a variable once it's been assigned, for example: the first assignment sets the constant value for that entire scope.</description>
		<content:encoded><![CDATA[<p>I disagree that, &#8220;the specifics of the paper may have been rendered irrelevant by the march of time.&#8221; The main point of the paper does not seem to be gotos themselves, but rather their effect on programmers&#8217; ability to intuit what the state of a set of variables might be at any given point in a program&#8217;s execution. And indeed, intuiting this incorrectly is a major source of program errors.</p>
<p>&#8220;Structured programming&#8221; has helped greatly with this, but I think we have yet a long way to go. Purely functional languages are one attempt to take the next major step in improving this situation, and are possibly an even more radical step than that from gotos to structured programming.</p>
<p>I&#8217;d suggest having a look at Haskell for some ideas on where we might go from here. That language uses some interesting ways of making it easier to intuit state, mostly by getting rid of state. There is no way to change the value of a variable once it&#8217;s been assigned, for example: the first assignment sets the constant value for that entire scope.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
