Você já deve ter ouvido falar que programação funcional é legal e sexy, uma grande promessa para o futuro. Mas às vezes parece que esse futuro não chega nunca!
A verdade é que programação funcional existe há décadas. De 2000 pra cá este modelo parece ter ganho bastante força na indústria, manifestando-se por exemplo no amadurecimento de tecnologias como Scala e F#.

De uns dois anos pra cá eu comecei a olhar para esse negócio com mais carinho e sinceramente não me lembro de outra área de estudo que influenciou tão incisivamente meu estilo, minhas habilidades e minha filosofia de trabalho, olhando sob o prisma técnico.

Decidi preparar uma série de posts relacionada a este assunto. Meu objetivo é derrubar a crença de que programação funcional é algo difícil e distante do seu dia-a-da. Demonstrarei como resolver problemas de um modo funcional e para isto vou recorrer a códigos escritos por mim em projetos que não devem ser tão diferentes dos projetos em que você trabalha.
Esta série terá um caráter introdutório e prático. Conceituações teóricas são algo que vão ficar de fora. Também não me comprometo a falar sobre tudo o que precisa ser estudado.

Preciso confessar que por trás desta série de posts existe um plano maquiavélico. Quero que as bençãos da programação funcional cheguem a todos meus colegas de profissão. E preciso que você me ajude a colocar este plano em ação. Mas por que você deveria?
Segundo Martin Odersky [1] o aumento da popularidade deste modelo se deve ao oferecimento dos seguintes benefícios:

  1. Seus princípios facilitam o entendimento de como um programa funciona
  2. Melhor modularidade
  3. Boa inclinação para trabalhar com paralelismo e cloud computing

Por hora vamos considerar o primeiro benefício. Código declarativo é muito mais expressivo do que código imperativo. Isto facilita nosso trabalho ao escrever um programa. E também ao ler um programa. E mais ainda ao depurar um comportamento inesperado.

Entrar em contato com novas linguagens de programação tem o potencial de nos trazer experiências altamente enriquecedoras. Mas vou te mostrar que também podemos empregar a programação funcional enquanto trabalhamos com JavaScript, C# e até mesmo com Java.
Chegou a hora de você entender o que é programação funcional no mundo real.
Bom, este foi apenas o marketing do que vem por aí. Gostou? Então espalhe a notícia!

[1] Martin Odersky é o criador da linguagem de programação Scala. Tive o privilégio de formar uma de suas turmas no curso Functional Programming Principles in Scala oferecido pelo coursera. A energia que coloquei nesta série de posts é fruto da inspiração que este curso me proporcionou.

Rafa Noronha

Rafa Noronha gosta de construir aplicações web inovadoras em qualquer plataforma. Possui experiência em diversas tecnologias mas a única com quem rolou algo mais sério foi a Web. Nos últimos anos precisou se especializar em JavaScript, single-page apps e Backbone.js. Na Lambda3 Rafa Noronha jura que Java é legal e está sempre vencendo seus colegas nos confrontos de Mortal Kombat e FIFA14.