Vous êtes sur la page 1sur 21

Paradigmas de

Linguagens de
Programação
Aula 01: Introdução e
Conceitos Básicos

Prof. Fernando Prass


fprass@gmail.com
O Papel de LPs no PDS

l O objetivo de LPs é tornar mais efetivo o


Processo de Desenvolvimento de
Software (PDS)
l PDS visa geração e manutenção de
softwares de modo produtivo e com
garantias de padrões de qualidade
Fernando Prass 2
(fprass@gmail.com)
Propriedades desejadas
em um Software:

l Confiabilidade

l Manutenibilidade

l Eficiência

l Desempenho
Fernando Prass 3
(fprass@gmail.com)
Propriedades
desejáveis em LPs
l Legibilidade
l Marcadores de Blocos

if (x>1)
if (x==2)
x=3;
else x=4;
l Desvios Incondicionais (goto)

Fernando Prass 4
(fprass@gmail.com)
Propriedades
desejáveis em LPs
l Facilidade de Aprendizado
l Excesso de Características é Prejudicial
c = c + 1;
c+=1;
c++;
++c;
l Eficiência
l Verificação Dinâmica de Tipos

l Confiabilidade
l Tratamento de Exceções

Fernando Prass 5
(fprass@gmail.com)
Propriedades
desejáveis em LPs
Um dos principais benefícios do
l Reusabilidade Paradigma Orientado a Objetos

l Redigibilidade
l Tipos de Dados Limitados (FORTRAN)

l Ausência de Tratamento de Exceções

l Portabilidade
l Rigor no Projeto

l Pode Contrastar com Eficiência

Fernando Prass 6
(fprass@gmail.com)
Conceitos Básicos

l Paradigma

l Léxico

l Sintaxe

l Semântica
Fernando Prass 7
(fprass@gmail.com)
Paradigma
l Conjunto de regras que estabelecem fronteiras
(domínios) e descrevem como resolver os
problemas dentro destas fronteiras.

l Exemplo ou modelo que servem de norma.

l Forma de representar e manipular o


conhecimento.

Fernando Prass 8
(fprass@gmail.com)
Léxico e Sintaxe
l Léxico: é o conjunto de palavras que
compõem a linguagem (também chamadas
de palavras reservadas)

l Sintaxe: em LPs é a forma de suas


expressões, de suas instruções e de suas
unidades de programas.

Fernando Prass 9
(fprass@gmail.com)
Semântica
l Em LPs é o significado das expressões,
instruções e definição de unidades de
programas:
l 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)


Fernando Prass 10
(fprass@gmail.com)
Implementação de LPs
Compilação Interpretação Pura Híbrido

LP Fonte LP Fonte LP Fonte

Compilação
Compilação
Interpretação
L.M.
Código
L.M. Intermediário
Dados

Dados Execução Interpretação


L.M.
Execução

Dados

Execução

Fernando Prass 11
(fprass@gmail.com)
Implementação de LPs
l Compilação
l Eficiência
l Problemas com Portabilidade e Depuração
l Interpretação Pura
l Flexibilidade, Portabilidade e Facilidade de Depuração
l Problemas com Eficiência
l Híbrido
l Une Vantagens dos Outros Métodos
l JVM

Fernando Prass 12
(fprass@gmail.com)
Pense...

l Se as linguagens interpretadas são

menos eficientes que as linguagens

compiladas, por que elas foram criadas

e ainda existem?

Fernando Prass 13
(fprass@gmail.com)
Paradigmas de LPs
Paradigmas

Imperativo Declarativo

Estruturado Orientado a Concorrente Funcional Lógico


Objetos

Fernando Prass 14
(fprass@gmail.com)
Paradigmas de LPs

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

l Declarativo
l Especificações sobre a Tarefa a Ser Realizada
l Abstrai-se de Como o Computador é Implementado

Fernando Prass 15
(fprass@gmail.com)
Paradigmas de LPs: Imperativo
l Estruturado
l Refinamentos Sucessivos
l Blocos Aninhados de Comandos
l Desestímulo ao uso de desvio incondicional
l Orientado a Objetos
l Abstração de Dados
l Concorrente
l Processos Executam Simultaneamente e Concorrem por
Recursos

Fernando Prass 16
(fprass@gmail.com)
Paradigmas de LPs: Estruturado

l Funcional
l Programa Composto por Funções Matemáticas

l Lógico
l Predicados
l Dedução Automática

Fernando Prass 17
(fprass@gmail.com)
Histórico: Evolução de LPs
l Dificuldade de Programação em Linguagens de
Máquina
l Foco de Primeiras LPs era Eficiência de
Processamento e Consumo de Memória
l Baixa Produtividade de Programação
l Programação Estruturada
l Tipos Abstratos de Dados
l Orientação a Objetos

Fernando Prass 18
(fprass@gmail.com)
Histórico: Origem de LPs
l FORTRAN (1957)
l aplicações numéricas
l LISP (1959)
l programação funcional
l ALGOL (1960)
l programação estruturada
l COBOL (1960)
l aplicações comerciais

Fernando Prass 19
(fprass@gmail.com)
Histórico: Origem de LPs
l BASIC (1964)
l ensino para leigos
l PASCAL (1971)
l ensino de programação estruturada
l simplicidade
l C (1972)
l implementação de UNIX
l PROLOG (1972)
l programação lógica

Fernando Prass 20
(fprass@gmail.com)
Histórico: Origem de LPs
l SMALLTALK (1972)
l programação orientada a objetos
l ADA (1983)
l programação concorrente
l C++ (1985)
l disseminação da programação orientada a objetos
l JAVA (1995)
l mais simples e confiável que C++
l Internet

Fernando Prass 21
(fprass@gmail.com)