Li vários livros e aprendi com a experiência que otimizar o código até o ponto em que ele é inescrutável ou encontrar uma solução extremamente rápida, mas extremamente complexa para um problema, não é desejável quando se trabalha em equipe ou mesmo quando você está trabalhando. sozinho e precisa entender sua solução inteligente algum tempo depois.
Minha pergunta é: a recursão deve ser tratada da mesma maneira? O programador médio entende a recursão facilmente e, portanto, deve-se usá-la com impunidade ou o programador médio não entende muito bem a recursão e deve ficar longe dela por causa da produtividade geral da equipe?
Eu sei que existem respostas simples de: "Qualquer programador que não entenda a recursão não vale um grão de sal, então não se preocupe com eles", mas eu queria saber se todos vocês têm alguma experiência no mundo real que gostariam de ter. compartilhar que iluminaria a questão mais do que a opinião que acabei de mencionar.