Publicidade
Economize: canal oficial do CT Ofertas no WhatsApp Entrar

Quais as diferenças entre programação Imperativa, Declarativa e Reativa

Por| Editado por Claudio Yuge | 04 de Abril de 2022 às 19h20

Link copiado!

Kevin Ku/Unsplash
Kevin Ku/Unsplash

Programação de computadores é algo que, mesmo fora do eixo dos profissionais da área, é conhecido, pelo menos de forma básica. Grande parte da população sabe que por meio da escrita de códigos algumas das principais expressões do mundo funcionam — só que poucas vezes isso é aprofundado, com situações mais específicas, como os paradigmas imperativos, declarativos e reativos sendo incógnitas.

A questão é que esses paradigmas são importantes, e é importante entende-los, junto de suas diferenças - já que sabendo qual deles uma linguagem ou uma framework usa de base, fica mais fácil entender seus funcionamentos.

Para melhor explicar o que cada uma dessas abordagens faz e suas diferenças, o Canaltech falou com especialistas da Kenzie Academy, organização de ensino focada em programação, sobre o tópico. Confira:

Continua após a publicidade

Entendendo a programação Imperativa, Declarativa e Reativa

Antes de entrar no que são as programações Imperativas, Reativas ou Declarativas, é importante entender o que são paradigmas no contexto do código. Lucas Jozefovicz, Head de Ensino da Kenzie Academy, explica que esse termo descreve as diferentes abordagens e formas para solucionar uma questão no ambiente de desenvolvimento, com a base utilizada por cada linguagem representando como os usuários devem reagir e programar naquele código.

Nesse contexto, Jozefovics explica que o paradigma Imperativo, utilizado em linguagens como PHP, Java, Lua e Python, é aquela que em que o foco do desenvolvedor deve ser descrever detalhadamente os processos que o computador deve executar ao ler aquele código.

Continua após a publicidade

“Na programação Imperativa, ou Procedural, o foco é em descrever detalhadamente o passo a passo de um processo que a máquina deve executar, ou seja, as instruções são passadas por meio de códigos na sequência que devem ser executadas. O paradigma Imperativo é relativamente complexo, por isso, não é indicado para a construção de aplicações que precisam de manutenção ou mudanças frequentes”, detalha Jozefovicz.

Já o paradigma Declarativo é a abordagem em que o objetivo da programação deve ser demonstrar o resultado esperado do código. Para isso, a sintaxe deve contar com lógicas imutáveis, que apresentam sempre o mesmo resultado após a execução do software.

“Em utilizados de programação Declarativa, o nível de abstração do código é muito maior, sendo que o exemplo mais comum de linguagem baseada nesse paradigma é a linguagem SQL usada para declarar consultas ao banco de dados, declarando o resultado esperado sem se preocupar em como esse resultado vai ser gerado" explica Filipe Gutierry, Coordenador de Conteúdo da Kenzie Academy. Além do SQL, a linguagem de marcação HTML, utilizada especialmente na criação de sites, também é um exemplo de utilização desse tipo de sintaxe.

Continua após a publicidade

Por fim, o paradigma Reativo tem seu nome derivado de reação, ou seja, é uma forma de programar a eventos ou alterações nos estados da aplicação. Com isso, a sintaxe do código e as funções executadas pelo programa sempre são feitas de forma que respondam a possíveis ações interpretadas pela máquina.

O paradigma Reativo, atualmente, é utilizado principalmente no desenvolvimento de aplicativos para Android, já que a natureza do sistema permite um melhor uso de sintaxes feitas com base em situações que ocorram durante o uso de um programa. Além disso, a famosa linguagem de programação JavaScript, que conta com funções multi-paradigmas, pode ter a biblioteca React implementada, permitindo esse tipo de desenvolvimento nela.

"Podemos dizer que todas as ações da programação reativa são respostas a algum evento, diferente do paradigma imperativo onde as ações acontecem seguindo um script, com regras fixas do que deve acontecer e em que momento. Portanto, elas são construídas por reações às alterações nos fluxos de dados. Uma das vantagens é que as aplicações reativas tendem a ser escaláveis, uma vez que todos os processos são fundamentados em cima de eventos não-bloqueantes, já ela tem como premissa lidar com processo que não sobrecarregue ou bloqueie a utilização dos recursos” afirma Maurício Girardello, Head de Tecnologia da Kenzie Academy, sobre esse tipo de abordagem.