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

Autor

Wende Mendes é desenvolver na Bluesoft há mais de 13 anos. Atualmente, ele lidera uma grande equipe de desenvolvedores que atua no módulo de Comercial e Operações do software da Bluesoft.

2 Comentários

  1. 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.

Deixe aqui o seu comentário