Skip to Main Content
The author considers recursion: functions, subroutines, and even whole computer languages defined in terms of themselves. Recursion is a direct and elegant way to translate certain mathematical relations into programs, and it's a great technique for discovering efficient algorithms. Given its utility, it is seldom used. Correctly used, recursion is so valuable you should use it whenever it makes programs clearer or briefer. He explains when recursion is appropriate and when it is a bad idea, and also shows how you might find it useful.