image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Ubiratan Tavares
Ubiratan Tavares31/07/2023 17:57
Compartilhe

Paradigmas de Programação

    1 - Introdução

    Diferentes tarefas de programação podem ser resolvidas de maneiras diferentes: você pode precisar escrever uma função ou criar uma classe separada com métodos e assim por diante. Todas essas variantes são combinadas em diferentes abordagens de programação, também chamadas de paradigmas. A seguir, revisaremos o conceito de paradigmas e analisaremos dois paradigmas principais: imperativo e declarativo e seus tipos.

    Quase todas as línguas modernas são multiparadigmáticas. Eles combinam facilmente as capacidades das abordagens imperativa e declarativa. No entanto, na seção sobre cada paradigma, daremos uma lista de linguagens onde, entre outros paradigmas, o discutido na seção também é implementado.

    2 - Paradigma Imperativo

    O paradigma imperativo é um dos mais antigos paradigmas de programação. Está intimamente relacionado com a arquitetura da máquina. Um programa imperativo é semelhante às ordens expressas pelo modo imperativo nas línguas naturais. É uma sequência de instruções que o processador deve executar passo a passo. O foco principal desse paradigma é como atingir um objetivo. O paradigma consiste em várias instruções e, após a execução de todas, o resultado é armazenado ou exibido.

    Por exemplo, você deseja exibir a frase "Olá, <nome do usuário>!" na tela. Como o programa deve fazer isso? Através das seguintes etapas:

    • solicitar o nome de usuário
    • guardar o nome de usuário
    • exibir o resultado esperado, isto é, a frase "Olá, <nome do usuário>!"

    A programação imperativa é dividida em três grandes categorias: Paradigma de programação procedural , Programação orientada a objetos e Abordagem de processamento paralelo.

    3 - Programação de Programação Procedural

    O paradigma de programação procedural é baseado no conceito de chamadas de procedimento, nas quais 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 a passo. Em outras palavras, o computador pega os dados de entrada e os processa sequencialmente, lembrando-se de cada nova alteração.

    A programação procedural é adequada para programação de uso geral para concluir tarefas comuns. Então, isso pode ser um pequeno problema computacional, como calcular um fatorial, ou encontrar a área de uma figura, ou exibir alguma informação/frase como "Olá, mundo!". Além disso, o código pode ser reutilizado em diferentes partes do programa, sem a necessidade de copiá-lo.

    As linguagens de programação que implementaram o paradigma de Programação Processual são C, Java, C++, Kotlin, ColdFusion e Pascal.

    4 - Programação Orientada a Objetos

    A programação orientada a objetos ou POO é o paradigma em que o programa é escrito como uma coleção de classes. Cada classe tem instâncias chamadas de objetos.

    Uma classe é uma forma de descrever uma entidade em geral, definindo o estado usual e o comportamento que depende desse estado, bem como as regras usuais para interagir com essa entidade. Formalmente, uma classe é vista como um conjunto de dados como campos, atributos, membros de classe e funções, ou seja, métodos para trabalhar com eles.

    Por exemplo, temos uma entidade gato e queremos descrevê-la usando uma classe. Assim, o gato será um objeto da classe Cat correspondente . Um gato tem alguns atributos, por exemplo, rabo, patas, garras, focinho, orelhas e bigodes. O comportamento de um gato é o que ele costuma fazer, por exemplo, ele pode correr, pular, miar, comer e arrancar o papel de parede. Todos estes serão métodos de gato .

    OOP pode lidar com quase todos os tipos de problemas comuns da vida real em que você precisa modelar objetos típicos e trabalhar com eles.

    As linguagens de programação que implementaram o paradigma OOP são Ruby, Kotlin, Java, C++, Python, Simula (a primeira linguagem OOP), Smalltalk, Visual Basic .NET e Objective-C.

    Nota-se alguma sobreposição entre as listas de linguagens para o paradigma procedural e OOP. Isso não significa que todas as linguagens OOP são procedurais e vice-versa. Assim como foi dito antes, a maioria das linguagens de programação modernas pode trabalhar com vários paradigmas.

    5 - Abordagem de Processamento Paralelo

    O processamento paralelo ajuda a reduzir o tempo de execução da instrução. Ele faz isso compartilhando ou paralelizando instruções entre vários processadores. O significado da abordagem pode ser resumido em uma frase: "dividir e conquistar". Exemplos de linguagens de programação que suportam processamento paralelo são NESL (uma das mais antigas) e C/C++ (também suportada devido a algumas funções de biblioteca).

    6 - Paradigma Declarativo

    A programação declarativa é um paradigma de programação no qual é importante especificar o problema e o resultado esperado de sua solução. Ou seja, em contraste com o paradigma imperativo, onde é necessário responder à pergunta "Como fazer isso?" você precisa fazer as perguntas "O que precisa ser feito?" e "Qual será o resultado do trabalho?". Portanto, em vez de fornecer instruções passo a passo, você diz ao sistema o que precisa e deixa que ele encontre uma solução.

    A programação declarativa é dividida em tipos de paradigma lógico, funcional e de banco de dados.

    7 - Paradigma de Programação Lógica

    A programação lógica é um paradigma de programação fortemente baseado na lógica formal. Qualquer programa escrito em uma linguagem de programação lógica é um conjunto de sentenças em uma forma lógica que expressa fatos e regras sobre uma determinada área do problema.

    Portanto, as declarações básicas da programação lógica são as seguintes:

    • Fatos são afirmações fundamentais sobre o domínio do problema, como "Sócrates é um homem".
    • As regras permitem fazer inferências sobre os fatos do domínio ("Todos os homens são mortais.")
    • As consultas são questões sobre esse domínio ("Sócrates é mortal?")

    Em geral, a tarefa aqui é encontrar a resposta para a consulta com base em fatos e regras.

    As principais famílias de linguagens de programação lógica incluem Prolog, Answer Set Programming (ASP) e Datalog.

    8 - Paradigma de Programação Funcional

    A programação funcional é um paradigma de programação no qual o processo de computação é interpretado como a computação dos valores das funções. A função, neste caso, é semelhante a uma função matemática. Ou seja, uma função na qual a entrada é um array que não é alterado e a saída é um novo array com novos dados. Isso torna uma função matemática diferente de uma função na programação procedural, onde uma função é uma sequência de ações que alteram os dados originais.

    Aqui está um exemplo simples: você pode ter uma função que recebe uma lista de números como entrada e retorna uma nova lista com os quadrados desses números. Isso não altera a lista original de números.

    As linguagens de programação que implementaram o paradigma de programação Funcional são JavaScript, Haskell, Scala, Erlang, Lisp, ML, Clojure, OCaml e F#.

    9 - Paradigma de Pogramação de Banco de Dados

    Esta metodologia de programação é baseada no trabalho com dados. Os dados são armazenados no banco de dados e as consultas são feitas a esse banco de dados em uma linguagem especial, por exemplo, SQL. Com esses idiomas, você pode acessar os dados para filtragem, transformações, cálculo de estatísticas e assim por diante. As instruções do programa são definidas por dados, em vez de uma série de etapas embutidas em código.

    O programa de banco de dados é o coração do sistema de informações de negócios, permitindo a criação de arquivos, entrada de dados, atualização, consulta e funções de relatório.

    10 - Conclusão

    Resumindo,

    • Diferentes abordagens para a criação de programas são chamadas de paradigmas.
    • Existem dois paradigmas principais de programação: imperativo e declarativo.
    • O paradigma imperativo se concentra em alcançar um resultado usando instruções passo a passo que processam os dados sequencialmente.
    • O paradigma imperativo inclui o paradigma de programação procedural, a programação orientada a objetos e a abordagem de processamento paralelo.
    • O paradigma declarativo concentra-se na tarefa e tenta obter um resultado esperado.
    • O paradigma declarativo inclui os paradigmas lógico, funcional e de banco de dados.

    Lembre-se que a maioria das linguagens de programação modernas podem trabalhar com vários paradigmas. Nas seções acima foram listados linguagens que são comumente associadas a algum paradigma. Mas isso não significa que eles só podem ser usados ​​com um determinado paradigma.

    Compartilhe
    Comentários (0)