I like recursion, and it's very unfortunate that Ruby's recursion is  
pretty crappy. I say use it initially, then go to a loop-based  
implementation if you overflow the stack or find that it's too slow.  
I end up doing this about 10% of the time that I use recursion.

- Jake McArthur