<story><title>Python to Scheme to Assembly (2014)</title><url>https://davidad.github.io/blog/2014/02/28/python-to-scheme-to-assembly-1/</url><text></text></story><parent_chain></parent_chain><comment><author>emmanueloga_</author><text>I gather than the author is being hyperbolic in order to emphasize his point (&amp;quot;is easier to reason about correctness with recursion&amp;quot;). But the reason recursion doesn&amp;#x27;t &amp;quot;suck&amp;quot; in python (an other languages without TCE), even with a small call stack, is that usually it is used to tackle problems with a divide-and-conquer strategy. Even if you are handling a massive amount of items, if your recursive calls splits them to handle in two or more parts until there&amp;#x27;s no more to handle, then it is very hard to deplete the call stack:&lt;p&gt;log2 1_000_000_000_000_000 =&amp;gt; 49.82892142331043&lt;p&gt;&amp;quot;Recursion and iteration are equally expressive: recursion can be replaced by iteration with an explicit stack, while iteration can be replaced with tail recursion. Which approach is preferable depends on the problem under consideration and the language used.&amp;quot; [1]&lt;p&gt;BTW, I sympathize with the author&amp;#x27;s thesis. I was trying to remember algorithms that are easier to reason about in their iterative form... but I can&amp;#x27;t remember any. Conversely, compare recursive vs iterative DFS [2].&lt;p&gt;1: &lt;a href=&quot;http://en.wikipedia.org/wiki/Recursion_(computer_science)&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Recursion_(computer_science)&lt;/a&gt;&lt;p&gt;2: &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_traversal#Depth-first_2&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Tree_traversal#Depth-first_2&lt;/a&gt;</text></comment>
<story><title>Python to Scheme to Assembly (2014)</title><url>https://davidad.github.io/blog/2014/02/28/python-to-scheme-to-assembly-1/</url><text></text></story><parent_chain></parent_chain><comment><author>rpedroso</author><text>This article really got me in the mood to play around with Racket again.&lt;p&gt;Incidentally, I find it hard to square with Guido&amp;#x27;s belief that recursion isn&amp;#x27;t the basis of all programming. Sure, Python has some powerful iterators, but my CS professors made it clear that iteration is basically just a special case of recursion.&lt;p&gt;It might very well be the right decision for Python to prefer iteration, but to deny the role of recursion in computer science altogether seems misguided.</text></comment>