O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Paradigmas de Programação

Paulo Sérgio da Soledade Cerqueira Computação Português

Mapa mental sobre paradigmas de programação: imperativo, funcional, lógico, orientado a objetos e estruturado

Mapa mental: Paradigmas de programação

Conteúdo do mapa

Paradigmas de Programação

  1. Um paradigma é o que determina o ponto de vista da realidade e como se atua sobre ela

  2. Imperativo

    • Baseado na arquitetura de Von Neumann seguindo o conceito de um estado e de ações que manipulam esse estado. Podemos denominá-lo de procedural.
    • Ada; ALGOL; Assembler; Basic; C; Cobol; Fortran; Pascal; Python; Lua
    • Eficiente (porque embute o modelo de Von Neumann); modelagem “natural” de aplicações do mundo real; paradigma dominante e bem estabelecido e também muito flexível.
    • De difícil legibilidade; as instruções são centradas no como e não no o que.
  3. Funcional

    • Trata a computação como uma avaliação de funções matemáticas. funções podem ser parâmetros ou valores de entrada para outras funções e podem ser os valores de retorno ou saída de uma função.
    • Efeitos colaterais no cálculo da função são eliminados. A recursividade em programação funcional pode assumir várias formas e é em geral uma técnica mais poderosa que o uso de laços do paradigma imperativo.
    • Parecem faltar diversas construções freqüentemente consideradas essenciais em linguagens imperativas. Por exemplo, não há alocação explícita de memória nem de variáveis.
    • Lambda; LISP; Scheme; ML; Miranda; Haskell;
  4. Lógico

    • Programas são relações entre Entrada/Saída. Possui estilo declarativo, como o paradigma funcional. Inclui características imperativas, por questões de eficiência.
    • Variáveis de programa não possuem tipos, nem são de alta ordem.
    • Popler; Conniver; QLISP; Planner; Prolog; Mercury; Oz; Frill.
    • Possui a princípio todas as vantagens do paradigma funcional. E permite concepção da aplicação em um alto nível de abstração.
  5. Orientado a objetos

    • Possui todas as vantagens do paradigma imperativo entre outras: a alteração de um módulo não incorre na modificação de outros módulos; quanto mais um módulo for independente, maior a chance dele poder ser reutilizado em outra aplicação.
    • Baseada na composição e interação de diversas unidades de softwares denominados objetos.
    • Smalltalk; Python; Ruby; C++; Object Pascal; Java; C#; Oberon; Ada; Eiffel; Simula; .NET
    • Exige formas de pensar relativamente complexas.
  6. Estruturado

    • C; Basic; Pascal; Cobol;
    • Os problemas podem ser quebrados em vários subproblemas, boa legibilidade e boa compreensão da estrutura.
    • Preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: seqüência, decisão e iteração
    • Os dados são separados das funções; Mudanças na estrutura dos dados acarreta alteração em todas as funções relacionadas. Gera sistemas difíceis de serem mantidos;

Informações

Descrição
Este mapa tem como objetivo esboçar os paradigmas das diferentes linguagens de programação de computadores.
Visualizações
25
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?