Paradigmas de Linguagens de Programação

23
Paradigmas de Linguagens de Programação Aula 1 – Profª Danielle Costa [email protected]

description

Aula 1 – Profª Danielle Costa [email protected]. Paradigmas de Linguagens de Programação. Linguagens de Programação (LP). O objetivo de LPs é tornar mais efetivo o Processo de Desenvolvimento de Software (PDS ) - PowerPoint PPT Presentation

Transcript of Paradigmas de Linguagens de Programação

Page 1: Paradigmas  de Linguagens  de Programação

Paradigmas de Linguagens de Programação

Aula 1 – Profª Danielle [email protected]

Page 2: Paradigmas  de Linguagens  de Programação

Linguagens de Programação (LP)

O objetivo de LPs é tornar mais efetivo o Processo de Desenvolvimento de Software (PDS)

PDS visa geração e manutenção de softwares de modo produtivo e com garantias de padrões de qualidade

Page 3: Paradigmas  de Linguagens  de Programação

Propriedades desejadas em Softwares

Confiabilidade

Manutenibilidade

Eficiência

Desempenho

Page 4: Paradigmas  de Linguagens  de Programação

Propriedades desejáveis em LPs

Legibilidade

Marcadores de Blocosif (x>1)

if (x==2)x=3;

else x=4;

Desvios Incondicionais (goto)

Page 5: Paradigmas  de Linguagens  de Programação

Propriedades desejáveis em LPs

Facilidade de Aprendizado Excesso de Características é Prejudicial

c = c + 1;c+=1;c++;++c;

Eficiência Verificação Dinâmica de Tipos Confiabilidade Tratamento de Exceções

Page 6: Paradigmas  de Linguagens  de Programação

Propriedades desejáveis em LPs

Reusabilidade

Redigibilidade Tipos de Dados Limitados (FORTRAN) Ausência de Tratamento de Exceções

Portabilidade Rigor no Projeto Pode Contrastar com Eficiência

Um dos principais benefícios do POO

Page 7: Paradigmas  de Linguagens  de Programação

Conceitos Básicos

Paradigma

Léxico

Sintaxe

Semântica

Page 8: Paradigmas  de Linguagens  de Programação

Paradigma

Conjunto de regras que estabelecem fronteiras (domínios) e descrevem como resolver os problemas dentro destas fronteiras.

Exemplo ou modelo que servem de norma.

Forma de representar e manipular o conhecimento.

Page 9: Paradigmas  de Linguagens  de Programação

Léxico e Sintaxe

Léxico: é o conjunto de palavras que compõem a linguagem (também chamadas de palavras reservadas)

Sintaxe: em LPs é a forma de suas expressões, de suas instruções e de suas unidades de programas.

Page 10: Paradigmas  de Linguagens  de Programação

Semântica

Em LPs é o significado das expressões, instruções e definição de unidades de programas: Exemplo: a sintaxe do IF no Pascal é:

IF <expressão condicional> THEN <instrução>

Significado: se o resultado da expressão condicional for verdadeiro, excecuta a instrução, do contrário não.

Necessidade de Padronização (ISSO, IEEE, ANSI)

Page 11: Paradigmas  de Linguagens  de Programação

Implementação de LPs

Page 12: Paradigmas  de Linguagens  de Programação

Implementação de LPs

Compilação Eficiência Problemas com Portabilidade e Depuração

Interpretação Pura Flexibilidade, Portabilidade e Facilidade de

Depuração Problemas com Eficiência

Híbrido Une Vantagens dos Outros Métodos JVM

Page 13: Paradigmas  de Linguagens  de Programação

Pense...

Se as linguagens interpretadas são menos eficientes que as linguagens compiladas, por que elas foram criadas e ainda existem?

Page 14: Paradigmas  de Linguagens  de Programação

Paradigmas de LPs

Page 15: Paradigmas  de Linguagens  de Programação

Exemplos

Programação estruturada, em contraste a POO Programação imperativa, em contraste de programação declarativa Programação de passagem de mensagens Programação procedural, em contraste de programação funcional Programação orientada a fluxos, em contraste de programação

orientada a eventos Programação escalar, em contraste de programação vetorial Programação restritiva, que complementa a programação lógica Programação orientada a aspecto Programação orientada a regras Programação orientada a tabelas Programação orientada a fluxo de dados Programação orientada a políticas Programação orientada a testes Programação genérica Programação multiparadigma

Page 16: Paradigmas  de Linguagens  de Programação

Paradigmas de LPs

Imperativo Processo de Mudanças de Estados Variável, Valor e Atribuição Células de Memória

Declarativo Especificações sobre a Tarefa a Ser

Realizada Abstrai-se de Como o Computador é

Implementado

Page 17: Paradigmas  de Linguagens  de Programação

Paradigmas de LPs: Imperativo Estruturado

Refinamentos Sucessivos Blocos Aninhados de Comandos Desestímulo ao uso de desvio incondicional

Orientado a Objetos Abstração de Dados

Concorrente Processos Executam Simultaneamente e

Concorrem por Recursos

Page 18: Paradigmas  de Linguagens  de Programação

Paradigmas de LPs: Estruturado

Funcional Programa Composto por Funções

Matemáticas

Lógico Predicados Dedução Automática

Page 19: Paradigmas  de Linguagens  de Programação

Histórico: Evolução de LPs

Dificuldade de Programação em Linguagens de Máquina

Foco de Primeiras LPs era Eficiência de Processamento e Consumo de Memória

Baixa Produtividade de Programação Programação Estruturada Tipos Abstratos de Dados Orientação a Objetos

Page 20: Paradigmas  de Linguagens  de Programação

Histórico: Evolução de LPs

FORTRAN (1957) aplicações numéricas

LISP (1959) programação funcional

ALGOL (1960) programação estruturada

COBOL (1960) aplicações comerciais

Page 21: Paradigmas  de Linguagens  de Programação

Histórico: Evolução de LPs

BASIC (1964) ensino para leigos

PASCAL (1971) ensino de programação estruturada

simplicidade C (1972)

implementação de UNIX PROLOG (1972)

programação lógica

Page 22: Paradigmas  de Linguagens  de Programação

Histórico: Evolução de LPs SMALLTALK (1972)

programação orientada a objetos ADA (1983)

programação concorrente C++ (1985)

disseminação da programação orientada a objetos

JAVA (1995) mais simples e confiável que C++ Internet

Page 23: Paradigmas  de Linguagens  de Programação

Próxima Aula..

Tipos de Dados

Estrutura de Controles