Entenda o que são paradigmas de programação
Tags: programming, softwareengineering, braziliandevs
Published: 2024-05-10 14:06:35

Vamos entender o que é um Paradigma de programação, quais os paradigmas que existem e suas diferenças.

## O que é Paradigma?
Por definição, paradigma é um exemplo que serve como modelo, um padrão. Um paradigma de programação é um modelo, um meio de qualificar uma linguagem baseado em sua funcionalidade, e que definem regras para implementação de uma linguagem para resolver um problema. Vamos conhecer cada um.

## Imperativo
Também chamado de procedural, funciona alterando o estado do programa através de instruções de atribuição. Neste paradigma o foco da solução é mais em **"como"** deve ser feita. O programador deve passar as instruções passa a passo para o computador executar, após a execução de todas, o resultado é armazenado.

Exemplos de linguagens que o usam: **Cobol**, **Fortran**, **Basic**, **C** entre outras

O paradigma Imperativo dividi-se em categorias: _POO_ e _Computação paralela_.

### Programação Orientada a Objetos
Um dos paradigmas mais populares do mundo, foi o primeiro a permitir programação multiplataforma.

Este paradigma busca retratar a programação tal qual se enxerga o mundo real. A entidade mais pequena e básica é o objeto e todo o tipo de cálculo é realizado apenas nos objectos. Neste caso todos os objetos possuem estados e comportamentos. Os estados são descritos pelas classes como atributos e como eles se comportamentam é definido pelos métodos.

Algumas linguagens que fazem uso deste paradigma: **Java**, **C++**, **C#**, **Python** etc.

### Computação Paralela
Um sistema de Computação paralela usa de vários processadores para executar o programa, dividindo-o, para chegar ao resultado em menos tempo.

Portanto uma solução em computação paralela utilia de vários computadores simultaneamente para chegar a um mesmo objetivo.

Linguagens que se destacam no uso de computação paralela: **C** e **C++**

## Declarativo
É dividio em: _Lógico_ e _Funcional_. O paradigma declarativo, é um estilo de construção de programas que expressa a lógica da computação sem falar sobre o seu fluxo de controle. Ao contrário do imperativo, o focu está em **"o quê"** deve ser feito e não em como deve ser feito. O nível de abstração é muito maior.

O programador deve declarar verdades lógicas imutáveis, para as quais os resultados são sempre os mesmos.

### Funcional
Neste paradigma o uso de funções é destaque. O problema é dividido em blocos, onde são implementadas funções que definem variavéis dentro do seu escopo.

É indicado quando a solução requer forte base matemática. Assim dividi-se o problema e as funções são responsáveis pelos cálculos matemáticos. Ao final o programador deve fazer a integração da solução.

Linguagens que usam esse paradigma: **Haskell**, **LISP**, **JavaScript** e etc

### Logico
Este paradigma é baseado em fatos e usa o que sabe para criar cenários onde esses fatos são verdadeiros e apontam para um final. Os principais elementos deste paradigma são: proposições, regras de inferência e busca.

Por chegar ao resultado através da análise lógico-matematico ele é mais popular no setor de Inteligência Artificial.

A principal linguagem que o usa é **Prolog**.

## Conclusão
Então estes são os principais paradigmas de programação, espero que tenha ficado entendido suas diferenças, embora que a melhor forma de identifa-las é através da prática com diferentes linguagens.

## Referências
[Introdution of programming paradigms](https://www.geeksforgeeks.org/introduction-of-programming-paradigms/)
[Quais são os paradigmas de programação](https://blog.geekhunter.com.br/quais-sao-os-paradigmas-de-programacao/)
[O que são e quais são os paradigmas de programação](https://blog.betrybe.com/tecnologia/paradigmas-de-programacao/)