Alguns meses atrás, usei Clojure para fazer um teste consistente para o nosso NOSQL Elasticell. Eu vejo força muito poderosa do processo funcional do Praradigm for Dataflow, enquanto tantos parênteses me deixam louco. Existe o açúcar de sintaxe que o IF-ELSE e os loops forem funções. Agora encontro Scala, uma linguagem de mistura perfeita com objetos orientados, imperativos e funcionais ativados.
Você pode escrever facilmente qualquer algoritmo que seja essencialmente recursivo de maneira funcional. Além disso, a função recursiva com recursão de cauda será executada eficientemente em Scala.
Talvez você seja famoso com C/C ++ ou Java. Não é tão conveniente não ter uma declaração tradicional para loops no início. No entanto, você também pode usar a instrução IF-BRANCH ou MOTCH-CASE em Scala.
Finalmente, quando você é UESD para escrever um código recursivo puro sem estilos de loop para C ++ ou Java, você descobrirá que é mais importante expressar o algoritmo em vez de algum espaço ou taxa computacional. No final, você nunca se preocupará com o fato de o índice "I" que o Boudary nos loops pode transbordar, porque todo o limite será expresso em uma instrução IF-ELSE usando estilo recursivo.