O paradigma da programação funcional está cada vez ganhando mais atenção no mercado, especialmente o interesse em linguagens funcionais como Scala, Clojure, LISP, Scheme, OCaml, entre outras.
Uma das razões para este interesse é o fato de que a maneira funcional de pensar vem se mostrando cada vez mais útil e produtiva em relação á abordagens tradicionais como orientação à objetos, especialmente para os novos problemas dos dias de hoje.
Na base do pensamento funcional está a premissa de que funções são representações como qualquer outra em uma linguagem, assim como números, strings e objetos e, portanto, podem ser definidas com liberdade, passadas como parâmetros para outras funções, serem valores de retorno de outras funções, etc.
Nesta apresentação, introduzo um aspecto da programação funcional que se chama tail recursion (ou tail call). É basicamente uma otimização que o compilador exerce ao detectar que a última expressão em uma função é em si nada mais que uma chamada para uma função (seja para ela mesma ou outra).
Desta maneira, é possível construir funções recursivas sem a preocupação com o caso de stack overflow (ou estouro de pilha), e desta maneira melhorando o reuso de código e legibilidade, e ao mesmo tempo evitando bugs!
Assista o vídeo logo abaixo:
Conheça mais sobre a Bluesoft
Conheça o Bluesoft ERP: Sistema completo de gestão para supermercados
2 Comentários
Rodolfo, nunca vi uma explicação tão boa e tão sucinta sobre tail recursion. Parabéns.
Coloca mais uma tag no post: funcional.
Com certeza irei acompanhar os próximos, grande abraço.
Olá Renan
Obrigado pelo feedback, acompanhe mesmo!
[]s