Mapa mental
Paradigmas de Programação

Mapa mental: Paradigmas de programação
Contenido del mapa
Paradigmas de Programação
Um paradigma é o que determina o ponto de vista da realidade e como se atua sobre ela
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.
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;
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.
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.
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;
Información
- Descripción
- Este mapa tem como objetivo esboçar os paradigmas das diferentes linguagens de programação de computadores.
- Creado por
- Paulo Sérgio da Soledade Cerqueira
- Visitas
- 25
- Valoración