Saturday, January 14, 2006

Mastering recursive programming

Mastering recursive programming: "Mastering recursive programming

Learning recursion yields maintainable, consistent, provably correct code

Level: Intermediate

Jonathan Bartlett (johnnyb@eskimo.com), Director of Technology, New Media Worx

16 Jun 2005

Recursion is a tool not often used by imperative language developers, because it is thought to be slow and to waste space, but as the author demonstrates, there are several techniques that can be used to minimize or eliminate these problems. He introduces the concept of recursion and tackle recursive programming patterns, examining how they can be used to write provably correct programs. Examples are in Scheme and C."

I love recursive programming - it looks really elegant when you create something - but I find it has to be documented or I don't understand it when it comes to be maintained. Oddly I have only HAD to use it once, when working on a generic custom list handling method in a game another (non-compsci trained) developer was writing but having trouble editing.

No comments: