Paradigmas de Programação Estudo dos Paradigmas de Programação
Introdução Os paradigmas de programação não são exclusivos, mas reflectem ênfases diferentes de linguagens de programadores. Muitas linguagens integram propriedades de mais de um paradigma.
Paradigmas de Programação Os principais paradigmas, a considerar na nossa aula serão: Imperativo; Orientado a Objectos; Funcional; Lógico.
Paradigma Imperativo Apresenta programas centrados no conceito de um estado (modelado por variáveis) e acções (comandos), que o manipulam. E também denominado por paradigma procedual, por incluir subrotinas ou procedimentos como mecanismos de instrução. Foi o primeiro paradigma a surgir e é actualmente o dominante.
Modelo Computacional do Paradigma Imperativo Entrada Programa Saída Estado
Paradigma Imperativo Vantagens: Eficiência (usa o modelo de Von Neumann); Uso do modelo “natural” de aplicações do mundo real; É o paradigma dominante. Desvantagens: Relacionamento indireto entre E/S resulta em: Difícil legibilidade; Erros introduzidos durante manutenção; - Descrições demasiadamente operacionais; Basea-se no como e não no que.
Paradigma Orientado a Objectos Não é um paradigma no sentido da palavra, é uma subclassificação do paradigma imperativo; A diferença reside na metodologia, quanto à concepção e modelagem do sistema; De maneira geral, uma aplicação é estruturada em módulos (classes) que agrupam um estado e operações (métodos) sobre eles. As classes podem ser usadas como tipos (cujos elementos são objetos).
Modelo Computacional do Paradigma Orientado a Objectos
Paradigma Orientado a Objectos Vantagens: As mesmas a do paradigma imperativo; Classes estimulam projeto centrado em dados: modularidade, reusabilidade e extensibilidade Aceitação comercial crescente Desvantagens: Semelhantes às do paradigma imperativo, mas amenizadas pelas facilidades de estruturação
O Paradigma Funcional Os programas são funções que descrevem uma relação explícita e precisa entre E/S; O estilo é declarativo: - não há o conceito de estado; - nem comandos como atribuição; Conceitos sofisticados como polimorfismo, funções de alta ordem e avaliação sobre demanda; Aplicação: prototipação.
Modelo Computacional do Paradigma Funcional Programa Entrada Saida
O Paradigma Funcional Vantagens: Manipulação de programas mais simples: - Prova de propriedades; - Transformação (exemplo: otimização); Concorrência explorada de forma natural. Desvantagens : O mundo não é funcional; Implementações ineficientes; Mecanismos primitivos de E/S e formatação.
O Paradigma Lógico Programas são relações entre E/S; Estilo declarativo, como no paradigma funcional; Na prática, inclui características imperativas, por questão de eficiência; Aplicações: sistemas especiais e banco de dados.
Modelo Computacional do Paradigma Lógico Saída Entrada Programa
O Paradigma Lógico Vantagens: Em princípio, todos paradigmas declarativos, permitem concepção da aplicação em um alto nível de abstração (através de associações entre E/S). Desvantagens: Linguagens usualmente não possuem tipos, nem são de alta ordem.
FIM