At a job interview on Friday, I had to write code, and one of the things that came up when we were talking about implementation of a concept was recursion. The director of the group said to me "Don't ...
The version that involves mutation is likely to be slower, since our compiler doesn’t optimize mutation (so that much effort can be spent elsewhere). The idiomatic way to write an imperative loop is ...