Escolar Documentos
Profissional Documentos
Cultura Documentos
AULA 1: PARADIGMAS DE
PROGRAMAÇÃO
11/02/2015
Ementa
2
11/02/2015
Referências bibliográficas
3
11/02/2015
Avaliação
4
1º Seminário: 15 pontos
12/03/2015
1ª Avaliação: 25 pontos
Data: 03/04/2015
2ª Avaliação: 30 pontos
Data: 07/05/2015
2º Seminário: 15 pontos
Data: 12/06/2015
Trabalho final: 15 pontos
Data: 26/06/2015
11/02/2015
Algumas perguntas
5
11/02/2015
Objetivos da disciplina
6
11/02/2015
Razões para estudar conceitos de
7
linguagens de programação
1. Capacidade aumentada para expressar ideias
A linguagem adotada impõe limitações
Conhecer uma variedade de recursos
11/02/2015
Razões para estudar conceitos de
8
linguagens de programação
2. Embasamento para escolher linguagens
adequadas
Como escolher a linguagem de um novo projeto?
Linguagens surgem ao longo do tempo
Ex.: C# (2000)
Simulação de recursos
11/02/2015
Razões para estudar conceitos de
9
linguagens de programação
3. Habilidade aumentada para aprender novas
linguagens
Em constante evolução
Exige apredizado contínuo
11/02/2015
10
11/02/2015
Razões para estudar conceitos de
11
linguagens de programação
4. Melhor entendimento da importância da
implementação
Aspectos de implementação que afetam esses conceitos
Pode levar a habilidade de usar de maneira mais
eficiente
Entender as escolhas entre as construções e as
consequências
11/02/2015
Razões para estudar conceitos de
12
linguagens de programação
5. Melhor uso das linguagens já conhecidas
Muitaslinguagens são grandes e complexas e é
incomum conhecer todos os recursos
6. Avanço geral da computação
Muitos acreditam que as linguagens mais populares
nem sempre são as melhores disponíveis
Ao menos em parte, por não estarem familiarizados
com os conceitos
Se quem escolhem fosse mais bem informados, talvez
linguagens melhores ganhassem de outras.
11/02/2015
Domínios de programação
13
11/02/2015
Critérios de avaliação de linguagens
14
Facilidade de escrita
Confiabilidade
Custo
11/02/2015
1. Legibilidade
16
1.2 Ortogonalidade
Conjunto pequeno de construções que podem ser
combinado a um número pequeno de formas
Cada combinação é legal e significativa
Ex. Na linguagem C:
Vetores não podem ser retornados por funções e registros sim.
Um membro de uma estrutura pode ser de qualquer tipo, exceto
void
Vetores podem ser qualquer tipo exceto void
Parâmetros são passados por valor, exceto vetores 11/02/2015
1. Legibilidade
18
11/02/2015
2. Facilidade de escrita
19
2.3 Expressividade
cont++ ou for
11/02/2015
3. Confiabilidade
20
11/02/2015
4. Custo
22
Treinamento
Escrita
Compilação
Execução
Sistema de implantação
Confiabilidade baixa
Manutenção
11/02/2015
Outros critérios
23
Portabilidade
Generalidade
11/02/2015
Influências no projeto de linguagens
24
Arquitetura de computadores
Von Neumann
Memória e CPU separadas (transmissão é necessária)
Orientação a objetos
11/02/2015
Categorias
25
Paradigma Lógico
11/02/2015
Implementação
26
11/02/2015
Paradigma Imperativo
27
11/02/2015
Paradigma Funcional
28
Ex.: Em Haskell
let x = 8 * 10 in x + x
R.:160
'a' : 'b' : []
R.: ab
11/02/2015
Paradigma lógico
30
11/02/2015
Paradigma orientado a objetos
31
11/02/2015
Paradigma orientado a objetos
32
11/02/2015
Leitura complementar
33
11/02/2015
Contato
34
luciana.balieiro@ifnmg.edu.br
11/02/2015