<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Recursion See Recursion Again</title><link>http://blogs.msdn.com/alfredth/archive/2008/07/10/recursion-see-recursion-again.aspx</link><description>I don’t remember exactly when I learned recursion. If I recall correctly, and I could be wrong after almost 35 years, the version of FORTRAN that was my first programming language didn’t even support recursive subroutine calls. But somewhere along the</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Recursion See Recursion Again</title><link>http://blogs.msdn.com/alfredth/archive/2008/07/10/recursion-see-recursion-again.aspx#8719165</link><pubDate>Fri, 11 Jul 2008 02:30:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8719165</guid><dc:creator>Aaron_Fischer</dc:creator><description>&lt;p&gt;Recursion can lead to a stack overflow. &amp;nbsp;Its a great simple solution for some problems but not all. &amp;nbsp;Also most recursion lessons use unpractical examples to teach the concept.&lt;/p&gt;
</description></item><item><title>re: Recursion See Recursion Again</title><link>http://blogs.msdn.com/alfredth/archive/2008/07/10/recursion-see-recursion-again.aspx#8720692</link><pubDate>Fri, 11 Jul 2008 11:52:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8720692</guid><dc:creator>int19h</dc:creator><description>&lt;p&gt;&amp;gt; Recursion can lead to a stack overflow. &lt;/p&gt;
&lt;p&gt;Which is why we have tail recursion optimization. If only C# used that &amp;quot;tail.&amp;quot; prefix in generated code as appropriate...&lt;/p&gt;
</description></item><item><title>re: Recursion See Recursion Again</title><link>http://blogs.msdn.com/alfredth/archive/2008/07/10/recursion-see-recursion-again.aspx#8721200</link><pubDate>Fri, 11 Jul 2008 16:20:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8721200</guid><dc:creator>Rick</dc:creator><description>&lt;p&gt;I saw recursion in my first semester of college (LISP). &amp;nbsp;It was hard to grasp, but like you, once I understood it I thought it was so cool. &amp;nbsp;I don't know if that was the right time to teach it though. &amp;nbsp;That was way back in the early 80s when they had too many comp sci students (can you imagine?) and needed to weed some out (and weed them out they did).&lt;/p&gt;
&lt;p&gt;I think the first exposure to recursion should come in math classes in high school. Lots of definitions can be made recursively (think induction). &amp;nbsp;That should help prep students before you throw computers into the mix. &lt;/p&gt;
</description></item><item><title>re: Recursion See Recursion Again</title><link>http://blogs.msdn.com/alfredth/archive/2008/07/10/recursion-see-recursion-again.aspx#8731859</link><pubDate>Mon, 14 Jul 2008 20:59:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8731859</guid><dc:creator>kburas</dc:creator><description>&lt;p&gt;See How to Design Programs by Felleisen et al.&lt;/p&gt;
&lt;p&gt;www.htdp.org&lt;/p&gt;
</description></item><item><title>re: Recursion See Recursion Again</title><link>http://blogs.msdn.com/alfredth/archive/2008/07/10/recursion-see-recursion-again.aspx#8749272</link><pubDate>Fri, 18 Jul 2008 16:41:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8749272</guid><dc:creator>Rob Miles</dc:creator><description>&lt;p&gt;I teach recursion as a weapon of last-ish resort. In all the programs I've written for money I've only used it very few times.&lt;/p&gt;
&lt;p&gt;I get a bit cross when people show recursion as a viable solution for things like factorial because although it has a certain mathematical neatness I always prefer a loop based solution. I suppose I see it as a rather elegant sledgehammer you don't actually neeed to use often.&lt;/p&gt;
&lt;p&gt;However, for things like traversing trees or parsing it is great because the problem pretty much defines the need.&lt;/p&gt;
</description></item><item><title>re: Recursion See Recursion Again</title><link>http://blogs.msdn.com/alfredth/archive/2008/07/10/recursion-see-recursion-again.aspx#8769274</link><pubDate>Thu, 24 Jul 2008 15:59:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8769274</guid><dc:creator>int19h</dc:creator><description>&lt;p&gt;&amp;gt; I suppose I see it as a rather elegant sledgehammer you don't actually neeed to use often.&lt;/p&gt;
&lt;p&gt;If recursion is a sledgehammer, then what would a straightforward loop be? &lt;/p&gt;
&lt;p&gt;Personally, I would rather say that loop is a sledgehammer, and not an elegant one at that.&lt;/p&gt;
</description></item></channel></rss>