Neste artigo, o dataholic Michel Oliveira vai nos ajudar a entender melhor sobre os paradigmas da programação, e pontuar especificamente entre eles suas especificações e categorização. Bom estudo!
O paradigma de programação está ligado diretamente ao estilo de escrita e forma de organização do código utilizado para desenvolver a aplicação. Cada paradigma utiliza uma forma específica de escrita e organização do código.
A palavra paradigma tem por definição o seguinte:
Um exemplo que serve como modelo; padrão.
Um conjunto de formas vocabulares que servem de modelo para um sistema de flexão ou de derivação; padrão.
Trazendo para o contexto da programação, o paradigma pode ser definido como um conjunto de princípios, ideias, conceitos de design e normas que definem a maneira como o código do programa é escrito e organizado.
Em outras palavras é uma estrutura que define como o programador pode conceituar e modelar problemas complexos a serem resolvidos por meio de uma linguagem de programação.
Por sua vez, uma linguagem de programação é uma ferramenta para solução de diversos problemas. Cada linguagem de programação tem um estilo de programar único que implementa um paradigma de programação específico. E o mais incrível nisso, é que para cada problema há inúmeras formas de os resolver.
Tipos de Paradigmas de Programação
Os paradigmas de programação podem ser classificados em dois tipos principais. O tipo de paradigma depende dos recursos da linguagem de programação e de um estilo particular de organização do código do programa.
Paradigma Imperativo.
Paradigma Declarativo
Paradigmas Imperativos
O paradigma imperativo é dirigido por comando. O código do programa na linguagem de programação do paradigma imperativo direciona a execução do programa como uma sequência de instruções executadas uma a uma. Ou seja, o programa de estilo imperativo consiste em um conjunto de instruções de programa, e cada instrução direciona o computador para executar uma tarefa específica.
Neste estilo de programa, o programador deve elaborar cada instrução em detalhes. Cada declaração orienta o que deve ser feito e como deve ser feito.
A execução das instruções do programa é decidida pelas instruções de fluxo de controle, e o fluxo do programa pode ser direcionado de acordo com a lógica do programa.
Algumas das linguagens de programação do paradigma imperativo incluem Fortran, C, Pascal e Cobol.
Paradigmas Declarativos
O paradigma declarativo é um paradigma de programação focado na lógica do programa em si, e no resultado. Aqui o fluxo de controle não é o elemento mais importante do programa, mas sim alcançar o resultado almejado.
Uma das principais características do paradigma declarativo é que não há preocupação na maneira ou método de execução de uma determinada rotina. Em outras palavras, o foco não está no “como” e sim no “que”.
Tipos de Programação Imperativa
1. Programação Estruturada.
2. Programação Procedural.
3. Programação Orientada a Objetos.
4. Linguagem de consulta de banco de dados.
Programação Estruturada
A programação estruturada é derivada do paradigma imperativo, ela é uma abordagem melhorada em comparação ao seu predecessor. A programação estruturada também é referida alternadamente como programação modular.
Este tipo de programação visa otimizar o código utilizando as construções de fluxo de controle do programa, construções de tomada de decisão (If, If Then, Else) e as construções de iteração (For, while loops), blocos e funções.
A principal intenção da abordagem de programação estruturada é melhorar a legibilidade do código. Essa abordagem também facilita a reutilização do código.
Algumas linguagens estruturadas são Cobol, PHP, Perl e Go.
Programação Procedural
A programação procedural também pode ser chamada de programação imperativa. É um paradigma de programação baseado no conceito de chamadas de procedimento, em que as instruções são estruturadas em procedimentos (também conhecidos como sub-rotinas ou funções). Eles são uma lista de instruções para dizer ao computador o que fazer passo por passo, linguagens de programação procedurais são conhecidas como linguagens de cima para baixo. A maioria das primeiras linguagens de programação são procedurais.
Algumas linguagens procedurais são C, C++, Java e Pascal.
Programação Orientada a Objetos
A programação orientada a objetos como o próprio nome resume, é um tipo de programação estruturada que visualiza os componentes do programa como objetos. Na programação OOP, todos os componentes do programa são representados como objetos.
Um objeto liga os dados e os métodos associados como uma unidade única. Como tal, o programador pode controlar as permissões de acesso aos dados definindo o especificador de acesso.
Algumas das linguagens mais utilizadas no mundo fazem parte desse paradigma: PHP, Java, C#, Python e Ruby.
Linguagem de consulta de banco de dados
A linguagem de consulta de banco de dados SQL ( Structured Query Language ) é o exemplo mais comumente usado de linguagem baseada em modelo.
O banco de dados é um componente vital da maioria dos projetos de software. A maioria dos RDBMS (Relational Database Management System) suporta o SQL para programação de banco de dados.
Tipos de programação declarativa
1. Programação Funcional.
2. Programação Lógica.
Programação Funcional
Diferentemente das programações imperativas e orientada a objetos, a funcional parte do princípio de que tudo são funções. Não existe uma lista de instruções ou objetos para o computador realizar, mas uma sequência de funções matemáticas que juntas, vão resolver um problema. Aqui você trata a computação como uma avaliação de funções matemáticas e evita a mudança de estado e dados mutáveis.
Algumas linguagens desse paradigma são Haskell, Scala e JavaScript.
Programação Lógica
A programação lógica é um paradigma de programação declarativa que se baseia na lógica e no controle. A palavra “lógica” significa essencialmente fatos e regras, já o controle significa uma ordem de regras. Sendo assim, a lógica define o que deve ser resolvido enquanto o controle define como deve ser resolvido.
A principal vantagem da programação lógica é que o programador só precisa definir qual parte do problema quer resolver, e o sistema encontra a melhor solução para esse problema.
Algumas linguagens desse paradigma são Absys, Ciao e Alice.
Os paradigmas de programação ajudam a reduzir a complexidade dos programas, além de contribuir para o cultivo e o crescimento das linguagens de programação.