A vez da Linguagem Funcional

Por Giulia Tonon|
Atualizado: Jul 2023 |
Publicado: Mar 2016

Ao trabalhar com desenvolvimento de sistemas no ambiente produtivo, estamos totalmente habituados a utilizar linguagens imperativas e orientadas a objeto. É uma forma consagrada e amplamente utilizada. Contudo, um “novo” paradigma de programação tem ganhado força, devido à demanda ininterrupta por escalabilidade e distribuição: a Linguagem Funcional.

O conceito de Linguagem Funcional

A linguagem funcional é um paradigma de programação. O desenvolvimento é feito com base em resultados de funções e a programação é feita com expressões, como se as funções fossem os objetos. Nessa abordagem, o valor de saída depende apenas dos argumentos de entrada. Dessa maneira, não importa o ambiente ou cenário em que o sistema esteja inserido. Assim, o resultado da saída é sempre o mesmo para os mesmos argumentos de entrada.

Trocando em miúdos, essa seria uma programação focada na imutabilidade de estado, já que as funções apresentam o mesmo valor e comportamento durante todo o processo. Desta forma, a linguagem funcional torna-se totalmente inerente a situações de paralelismo, distribuição e altíssima concorrência e criticidade.

Quer ver mais conteúdos como esse?

Vantagens

Este conceito do paradigma funcional não é nada recente, tem origem no cálculo lambda datado dos anos 30. Várias linguagens que aplicam este conceito funcional foram surgindo ao longo dos anos. Contudo, as linguagens funcionais se mantiveram à margem das consagradas linguagens orientadas a objeto e imperativas. Isso deve-se, pode-se presumir, às limitações de processamento e ao fato de que uma programação linear costumar ser mais natural e intuitiva.

No entanto, com o aumento da capacidade de processamento, armazenamento e banda, que cresceram muito e continuam crescendo para atender a demanda dos sistemas escalares, as linguagens funcionais ganharam seu merecido espaço.

Muitas linguagens funcionais ganharam destaque como Scala, Clojure, Erlang e Haskell.

Scala

Scala, por exemplo, é uma linguagem funcional que roda na JVM e é totalmente integrada ao Java. Além disso, apresenta os recursos de linguagens orientadas a objeto. Isso permite o desenvolvimento de arquiteturas mais avançadas. Uma vantagem da Scala em relação a outras linguagens funcionais é justamente esta integração com o Java.

Um mesmo sistema pode ter simultaneamente classes interagindo em Scala e Java. Isso possibilita uma migração fácil e gradual de um sistema Java para um conceito mais funcional.Esta vantagem comumente é um diferencial na escolha da linguagem. Ela já foi utilizada na programação do noticiário The Guardian, por exemplo.

Outra vantagem das linguagens funcionais são a sintaxe muito mais concisa, o que pode agradar o desenvolvedor por gerar um código bem mais limpo.

As linguagens orientadas a objeto tem seu domínio no ambiente produtivo, mas este reinado está cada vez mais ameaçado pelas linguagens funcionais. Talvez seja a hora de dar protagonismo a elas. Elas se mostram uma solução mais interessante num ambiente cada vez mais distribuído e com escalabilidade crítica.

Lingugagem funcional faz parte do DNA da dti, entre em contato conosco para saber mais!

Por: Ariny Guedes

Quer saber mais?

Desenvolvimento de Software

Confira outros artigos

WhatsApp Business na sua estratégia: muito além de um chatbot

Podemos dizer adeus a conversas monótonas com chatbots limitados e sem personalidade. Daqui em diante, veremos interfaces conversacionais oferecendo experiências digitais cada vez mais sofisticadas. Em outro artigo, abordamos como mais experiências estão sendo convertidas, progressivamente, em conversas e como essa tendência é potencializada pelos avanços nos modelos de Inteligência Artificial e nos canais de […]

Desenvolvimento de Software

inteligencia-artificial-ia-como-otimizacao-para-grandes-empresas

A Inteligência Artificial (IA) e otimização operacional nas empresas

Sumário1 Como a Inteligência Artificial (IA) pode otimizar operações empresariais e aumentar a eficiência? Descubra aqui!  2 Automatização de tarefas repetitivas e demoradas 2.1 Exemplos de IA para economia de tempo2.2 10 exemplos de como utilizar a Inteligência Artificial (IA) para automatizar tarefas repetitivas e/ou demoradas: 3 Melhoria da eficiência e redução de custos com Inteligência Artificial (IA)3.1 […]

Desenvolvimento de Software

Desenvolvimento Android e iOS

Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo

Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos.  Portanto, agora é a hora de explorar as oportunidades […]

Desenvolvimento de Software

Veja outros artigos de Desenvolvimento de Software