3 comments

[ 3.6 ms ] story [ 18.8 ms ] thread
If you like OO and Functional paradigms, you should try Scala.
Okay, I have a decent amount of introductory functional programming experience. I agree with most of the article, but this sentence makes no sense to me:

When done correctly, recursion increase a lot readability and avoids using cumbersome control structures such as loops.

In my experience, recursion makes things much harder, mainly because if you have a bug, you can narrow down the location in an iterative process but a recursive process is too interconnected to do that with easily. Also readability suffers a little for mathematical people like me, and a lot for anyone else. I agree that replacing loops with map/reduce/filter increases readability, but replacing loops with recursion?

Your point is valid. My stand is that recursion forces the programmer to think about the edge cases first, which would make a bug less likely to appear.