Mind map
Paradigmas das linguagens de programação
Map content
Paradigmas das linguagens de programação
Programação Imperativa
- Há uma grande preocupação quanto ao detalhamento do funcionamento de programas.
Programação Estruturada
- Vantagens
- Geralmente são linguagens mais fáceis de aprender, uma vez que envolve um menor número de conceitos distintos do que aqueles apresentados por outros paradigmas.
- Desvantagens
- Apresentam maiores dificuldades na representação de soluções para certos “problemas do mundo real”, que geralmente são mais complexos.
- Na programação estruturada, o programador deve descrever todo o seu programa por meio de instruções, estruturas de dados e subrotinas e qualquer programa pode ser reduzido a três tipos de estruturas: sequência, decisão e interação. Algumas das linguagens de programação consideradas estruturadas são: Pascal, C, COBOL e Fortran.
- Vantagens
Programação orientada a objetos
- Vantagens
- Graças aos novos conceitos introduzidos por meio da orientação a objetos, conseguiu-se uma melhor organização do código, geralmente separado em classes e bibliotecas.
- Desvantagens
- A programação orientada a objetos apresenta um maior número de conceitos e abstrações necessárias, quando comparada à programação estruturada, o que pode tornar seu aprendizado um pouco mais complexo.
- Na programação orientada a objetos, compreende-se a necessidade de compreender o problema por meio da relação existente entre as diversas entidades que participam do mesmo, sendo assim, a solução para o problema deve ser implementada levando-se em consideração os objetos e suas interações que sejam pertinentes ao universo do problema. Alguns exemplos de linguagens orientadas a objetos são C++, Object Pascal e Java.
- Vantagens
Programação concorrente
- Vantagens
- Aumento do desempenho, na medida em que melhor se utiliza de todos os recursos computacionais disponíveis; possibilidade de melhor modelagem dos programas, pois determinados problemas computacionais são concorrentes por natureza.
- Desvantagens
- Programação mais complexa, com possíveis erros decorrentes da própria concorrência; difícil depuração devido ao aspecto não-determinístico que a solução pode tomar.
- A programação concorrente visa estudar e propor como melhor desenvolver programas visando esse cenário, onde processos executam simultaneamente e concorrem por recursos, como a memória e o próprio processamento. Várias linguagens oferecem suporte à programação concorrente, como Java, C#, C++, C e Object Pascal. Como se pode perceber, uma mesma linguagem pode oferecer suporte a mais de um subparadigma.
- Vantagens
Programação declarativa
- Trata-se de uma abordagem focada em descrever o que o programa deve fazer e menos em como seus procedimentos devem funcionar.Na programação declarativa, não há a ideia de estado do programa, como ocorre na programação imperativa. Dentro do paradigma declarativo, podemos identificar a programação funcional, a programação lógica e a programação restritiva.
Programação funcional
- Vantagens
- Há uma maior transparência referencial, uma vez que todo o programa é composto por funções, tornando-se mais fácil efetuar uma inspeção do código.
- Desvantagens
- Não oferece alocação explícita de memória ou declaração explícita de variáveis, necessários para a resolução de muitos problemas reais.
- O código-fonte de um programa escrito em linguagem funcional pode ser interpretado como um conjunto de funções que recebem zero ou mais argumentos como entrada e retornam sempre um valor em sua saída. Cada função, então, deve realizar um conjunto de operações sobre os parâmetros de entrada a fim de obter a saída. Algumas linguagens que se utilizam dessa abordagem são APL, Lisp, ML, Haskell, OCaml e F#.
- Vantagens
Programação lógica
- Desvantagens
- Pode haver explosão combinatorial da base de conhecimento levando a grande desperdício de recursos computacionais.
- Vantagens
- Muito úteis em problemas que possam ser resolvidos por meio de dedução ou inferência.
- Esta é a abordagem da programação que faz forte uso da lógica matemática para a resolução de problemas, geralmente por meio de valores ou objetos e relações entre os mesmos, formulando-se assim proposições e regras.
- Desvantagens
Programação restritiva
- A programação restritiva nasceu da programação lógica (motivo pelo qual muitos autores apontam-na como parte da programação lógica). Ela se utiliza de restrições na definição de relações entre as variáveis.
Linguagens de programação multiparadigma
- Na verdade, muitas linguagens permitem mais de um subparadigma dentro de um mesmo paradigma, por exemplo, a linguagem C++ permite tanto a programação estruturada, quanto à orientada a objetos e a programação concorrente. Entretanto, há um número bem mais reduzido de linguagens que permitem paradigmas realmente distintos, como a linguagem Oz. A principal vantagem de tais linguagens é que o programador pode utilizar o paradigma que preferir em sua implementação. Entretanto, tem como desvantagem o fato de que algoritmos que utilizem mais de um paradigma em sua implementação podem ter sua compreensibilidade afetada.
Information
- Description
- 3º ano Tecnologia na Educação Mind Map on Paradigmas das linguagens de programação, created by Marcio Peters on 02/05/2022.
- Created by
- Marcio Peters
- Views
- 0
- History
-
- Created by Kaue Storch · Apr 7, 2015
- Copied by Marcio Peters · May 2, 2022
- Rating