The most important thing so far in this course has been
recursion. The simplest way I can think of explaining recursion is that it is
the process in which a function calls itself again and again. The basic idea is
to break the problem into a smaller multiple, device a solution to it, and use
this solution to solve the bigger problem. It makes the more complex problems
rather easier. It is definitely not the easiest thing to get hold of, but really
helps to solve the problem in a short and easy manner. I took some time to get
the slightest hint about this, but after doing the Assignment, I feel comfortable
using it.
I feel the key here is to think of what happens in the
simplest case, and work the function around that. Doing this is not at all
easy, but once we get hold of it, things become easy. The applications of
Recursion are immense, and can be used in most of the programming languages. It
definitely makes the programmers life easier (only once you know what it is,
but until then it is a nightmare).