É muito comum as pessoas confundirem linguagens com paradigmas de programação. Embora semelhantes, eles não se tratam da mesma coisa.

Os paradigmas são modelagens de escrita de código que podem ser aplicados a várias linguagens, desde que estas permitam. É possível ainda aplicar mais de um paradigma a uma mesma solução em uma linguagem previamente escolhida.

Neste artigo, você verá o que são paradigmas de programação, bem como a verdadeira importância de conhecê-los. Entenderá seus diferentes tipos e como evoluíram ao longo do tempo. Ao final da leitura, saberá diferenciá-los e aplicá-los corretamente de acordo com o problema a ser resolvido.

Para ajudar você na compreensão deste tema, separamos o post nos seguintes tópicos:

  • O que são paradigmas de programação?
  • Por que aprender sobre paradigmas de programação?
  • Quais os principais paradigmas de programação?

Aproveite e tenha uma boa leitura!

O que são paradigmas de programação?

Um paradigma pode ser entendido como um tipo de estruturação ao qual a linguagem deverá respeitar. A depender do objetivo proposto, a solução que a linguagem oferecerá obedece a um tipo de paradigma. Portanto, o que vai definir o paradigma utilizado será a tratativa dada ao problema.

É como se você tivesse que resolver um simples problema durante a execução de uma mudança doméstica. Imagine que você tivesse que levar um piano do primeiro ao terceiro andar de sua residência. O problema, já se sabe qual é. Mas de qual forma (paradigma) resolver essa questão?

Pode-se optar por carregá-lo manualmente dois andares acima. Esse seria um paradigma bastante trabalhoso, pois exigiria o esforço de várias pessoas. No entanto, outro paradigma para esse problema poderia ser o de elevá-lo por meio de um carrinho. Menos pessoas seriam necessárias e um menor esforço seria aplicado.

Por fim, alguém pode ter a brilhante ideia de usar um paradigma mais prático: elevar o piano pelo lado de fora da edificação utilizando um motor fixado no terceiro andar e acionado por controle remoto. Esforço quase zero e problema resolvido com mais inteligência.

Na comparação com a programação, esse seria um paradigma bem elegante (em termos de código). Para escolher bem, é preciso antes conhecer as alternativas.

Por que aprender sobre paradigmas de programação?

Cada paradigma surgiu de necessidades diferentes. Dado isso, cada um apresenta maiores vantagens sobre os outros dentro do desenvolvimento de determinado sistema. Sendo assim, um paradigma pode oferecer técnicas apropriadas para uma aplicação específica.

Escolhido o paradigma de desenvolvimento adequado ao projeto, isso permitirá que sejam desenvolvidas aplicações com grande produtividade. Haverá unicidade na orientação de escrita do código entre a equipe, tornando-o mais legível e criando facilidade de manutenção ao longo de sua existência.

Além disso, manter o mesmo paradigma determinará o objetivo da pessoa que trabalha com programação sobre a composição da estrutura e execução do sistema. Isso permite que as técnicas adequadas sejam utilizadas no projeto em questão. É essencial manter essa metodologia durante todo o trabalho.

Definitivamente, entender sobre os diferentes tipos de paradigmas fará com que seja ainda mais profissional. Saber qual o tipo escolher na resolução de um problema tornará seu raciocínio diferenciado. Isso quer dizer que antes de refletir sobre a solução de um problema, você pensará na modelagem dessa solução, ou seja, refletirá sobre o paradigma a ser utilizado.

Quais os principais paradigmas de programação?

Basicamente, existem seis principais tipos de paradigmas. A depender da linguagem de programação utilizada, pode-se usar mais de um deles. Os primeiros foram os paradigmas dos tipos imperativo e declarativo.

A partir deles é que todos os outros foram derivados. Veremos isso com mais detalhes a seguir.

Paradigma imperativo

Também é chamado de paradigma procedural. Nesse tipo de construção, as instruções devem ser passadas ao computador na sequência em que devem ser executadas. Vários tipos de linguagem de programação suportam esse tipo de paradigma, como Cobol, Fortran e Pascal.

Nesse tipo de programação, a pessoa passará uma espécie de passo-a-passo dos procedimentos que a máquina deverá executar (daí o nome procedural). Nesse caso, a solução do problema será muito dependente da experiência e criatividade de quem trabalha com a programação. O foco da resolução estará em “como” deve ser feito.

Esse tipo de programação é recomendada em projetos nos quais não se espera que haja mudanças significativas ao longo do tempo (programa estático), quando se tratar de uma operação complexa — em que os diferentes estados da aplicação necessitem de visualização explícita—, ou quando não existiram muitos elementos compartilhados.

Esse paradigma tem a vantagem de ser eficiente e de permitir uma modelagem tal qual o mundo real, além de ser bem estabelecido e bastante flexível. Por outro lado, o código fonte gerado é de difícil legibilidade.

Paradigma declarativo

O paradigma declarativo, por sua vez, foca mais em “o quê” deve ser resolvido do que, necessariamente, em “como” isso deve ser feito. Sendo assim, o nível de abstração é maior, ao passo que a pessoa que o programa tem a preocupação em descrever determinada sequência lógica e qual o resultado esperado. Logo, o foco deixa de ser como esse resultado deve ser computado.

Nesse paradigma, há declarações iniciais de verdades lógicas que são imutáveis. Assim, depois de realizadas algumas interações entre elas, o resultado encontrado será sempre igual (para as declarações outrora feitas). Isso entra em contraste com a programação imperativa, na qual um mesmo trecho de código pode retornar resultados diferentes.

Paradigma funcional

No paradigma de programação funcional, o uso de funções é destaque (daí seu nome). O problema é dividido em blocos e, para sua resolução, são implementadas funções que definem variáveis em seu escopo e retornam algum resultado. São exemplos de linguagens suportadas por esse paradigma o LISP, o Scheme e o Haskell.

É bastante indicado quando a solução requerida é fortemente dependente de uma base matemática. Assim, subdivide-se o problema proposto e as funções implementadas farão os cálculos matemáticos. Ao final, a pessoa programadora deve também integrar a solução entregue.

O paradigma funcional tem alocação de memória automática. Isso elimina possíveis “efeitos colaterais” nos cálculos matemáticos das funções. Assim, sua recursividade pode ter vários formatos, podendo ser uma técnica mais eficiente que a implementação de laços da programação imperativa.

Paradigma lógico

O paradigma lógico é um tanto distinto dos demais paradigmas e deriva do declarativo. Fundamentalmente, utiliza formas de lógica simbólica como padrões de entrada e saída. A partir daí, realiza inferências para produzir os resultados.

Para exemplificar bem seu uso, podemos imaginar a tentativa de prova de um dado teorema, na qual são explicitadas algumas premissas e, sendo elas verdadeiras, a conclusão de tal teorema torna-se verdade também.

Dentre as linguagens de programação que utilizam esse paradigma, podemos citar QLISP, Mercury e Prolog — esta última sendo a mais popular de todas. São utilizadas na solução de problemas que envolvem inteligência artificial, criação de programas especialistas e comprovação de teoremas.

Paradigma orientado a objetos

Esse paradigma é bastante conhecido. Foi popularizado na década de 90 com a linguagem de programação Java, ao permitir uma programação multiplataforma de uma mesma maneira. Antes disso, não era possível realizar tal tipo de trabalho.

O paradigma orientado a objetos surgiu como uma grande aposta para resolver gargalos da indústria de software, como produzir programas de forma mais rápida, com maior confiabilidade e a um custo menor. Para isso, buscou apoiar-se nas características de classe e objeto ao tentar retratar a programação tal qual se enxerga o mundo real.

Segundo esse paradigma, todos os objetos têm determinados estados e comportamentos. Esses estados são descritos pelas classes como atributos. Já a forma como eles se comportam (sua funcionalidade) é definida por meio de métodos, que são equivalentes às funções do paradigma funcional.

Para que uma linguagem de programação seja do tipo de paradigma orientado a objetos, deve implementar seus três alicerces básicos, que são conceito de herança, polimorfismo e encapsulamento. Alguns exemplos de linguagens orientadas a objetos são Java, C++, C# e Python.

Paradigma orientado a eventos

O paradigma de orientação a eventos é usado por toda linguagem de programação que tem uso de recursos gráficos, como jogos e formulários. Dessa forma, a execução do programa se dá a medida que determinados eventos são disparados pelo usuário. Portanto, quem usa é responsável pelo momento em que o programa é executado.

Imagine uma caixa de formulário que precisa do preenchimento do usuário. Os eventos descritos no código fonte serão executados à medida que se realiza o preenchimento dos campos solicitados. Além disso, ocorrem execuções também quando se decide enviar os dados clicando no botão de envio. São eventos que disparam outros eventos.

Os paradigmas de programação são uma ótima fonte de conhecimento adicional. Certamente, conhecê-los bem é capaz de que torne você uma pessoa profissional e diferenciada no mercado de trabalho. Dominar sua aplicabilidade coloca quem trabalha com desenvolvimento de softwares em um nível acima da média, pois possibilita pensar na modelagem da solução antes mesmo de elaborar a solução propriamente dita. Isso é um diferencial!

Agora que você já sabe um pouco mais sobre paradigmas, que tal conhecer mais sobre Extreme Programming? Confira o artigo!

0 Shares:
Você também pode gostar