From: utzoo!decvax!harpo!npoiv!hou5f!hou5b!hou5c!hou5e!mat Newsgroups: net.lang Title: Re: Difficulty of recursion Article-I.D.: hou5e.301 Posted: Tue Mar 22 15:33:08 1983 Received: Wed Mar 23 06:23:39 1983 References: iwlc7.146 There have been arguments posted to the effect that recursion is/is not a natural way to program, and an easy way to learn to program. Here is the revalation: Recursion is a natural way to program solutions to problems whose structures are easily defined recursively. Problems which are more naturally iterative (single lists rather than trees) are probably more easily handled by iteration. Recursion CAN simplify problems; it can also confuse them. Handling the inductive aspect of recursion may be easy ONCE the principles are grasped. To teach these principles to new programmers with a limited background in finite math, etc, AS AN INTRINSIC part of programming will very likely distract from many of the real difficulties involved. In short, if you are teaching a math major how to program, recursion will probably come easily. If you are teaching it to a four--year--old, then if his programming skills are limited to moving turtles in interesting patterns, it doesn't matter too much, he will have plenty of time to learn the other parts of the art of programming. If, however, you wish to teach someone how to program productively for a wide variety of problems, and that person does not already have a couple of potloads of problem solving skills at his disposal, you are going to have to start by working from things that HE (/SHE/IT) understands. Mark Terribile Duke of DeNet ...!hou5e!mat