Ultimamente, tenho notado que linguagens de programação funcional estão ganhando popularidade . Vi recentemente como o Índice Tiobe mostra um aumento em sua popularidade em comparação com o ano passado, embora a maioria nem chegue aos 50 idiomas mais populares de acordo com esse índice.
E esse tem sido o caso há algum tempo. A programação funcional simplesmente não se tornou tão popular quanto outros modelos (isto é, programação orientada a objetos).
Entretanto, vi um interesse renascido no poder da programação funcional e agora que os multicores são cada vez mais populares, os desenvolvedores começaram a mostrar interesse em outros modelos de concorrência já explorados no passado por linguagens como Haskell e Erlang.
Vejo com grande interesse o fato de que, apesar da falta de aceitação significativa da comunidade, mais e mais idiomas desse tipo continuam surgindo. Clojure (2007), Scala (2003), F # (2002) são apenas três exemplos da década passada.
Eu próprio investi algum tempo aprendendo Haskell e Scala. E encontro um grande potencial no paradigma que, para mim, era novo, apesar de estar lá por tanto tempo.
E, claro, minha maior pergunta é se alguma dessas coisas se tornará popular o suficiente para considerar colocar algum esforço nelas, mas essa é uma pergunta que nem Mandrake poderia responder, apesar de todo o barulho que as pessoas estão fazendo sobre elas.
O que eu quero perguntar é:
- Em quais cenários devo considerar uma linguagem de programação funcional mais adequada para executar uma determinada tarefa? Além do tão recentemente popular problema multicore da programação paralela.
- Se eu decidisse mudar para uma linguagem de programação funcional que você consideraria as maiores armadilhas que eu enfrentaria? (Além da mudança de paradigma e da dificuldade de avaliar o desempenho devido à avaliação preguiçosa).
- Com tantas linguagens de programação funcionais por aí, como você escolheria a que melhor se adequa às suas necessidades?
Quaisquer recomendações para futuras pesquisas serão mais que bem-vindas.
Pesquisei opiniões na Web e parece que toda essa popularidade renovada vem da idéia de que agora estamos prestes a atingir a lei de Moore e as linguagens de programação funcionais virão e nos salvarão heroicamente. Mas, se esse for o caso, eu diria que há mais probabilidades de as linguagens populares existentes se adaptarem ao paradigma.
Alguns de vocês, com mais experiência trabalhando todos os dias com esses idiomas, talvez possam oferecer mais informações sobre o assunto. Todas as suas opiniões serão melhor apreciadas e cuidadosamente consideradas.
Desde já, obrigado!