Sei sulla pagina 1di 11

1

Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman


Fonte (livro-texto):
Conceitos de Linguagens de Programao, 4ed.
Robert W. Sebesta
ntroduo
1
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Agenda
1. Razes para estudar conceitos de LPs
2. Domnios de programao
3. Critrios de avaliao de linguagens
4. Projeto de linguagens
1. Fatores
2. Compromissos
5. Mtodos de implementao
6. Ambientes de programao
7. Categorias de linguagens
2
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Razes para estudar conceitos de LPs
Melhorar a expresso de idias
Facilitar a escolha de linguagens
Facilitar o aprendizado de novas linguagens
Melhorar a compreenso sobre detalhes de
implementao
Facilitar o projeto de novas linguagens
Promover avano geral na rea
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Domnios de Programao
Algumas reas de aplicao e linguagens associadas
1. Aplicaes cientficas
Fortran, Algol 60,
2. Aplicaes comerciais
Cobol,
3. Aplicaes de Inteligncia Artificial
LISP, Prolog
4. Desenvolvimento de Software bsico
PL/S, Bliss, C,
5. Aplicaes para Web
sh, Perl, Java,
3
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Domnios de Programao
Aplicaes cientficas
Aplicaes comerciais
Inteligncia artificial
Software bsico
Aplicaes Web
aplicaes
usurios
desenvolvedores
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Critrios de Avaliao
Legibilidade
Fatores:
Simplicidade
Ortogonalidade
Estr. de controle
Estruturas e tipos de
dados
Aspectos sintticos
Redigibilidade
Fatores:
Simplicidade
Ortogonalidade
Suporte a abstrao
Poder de expresso
4
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Critrios de Avaliao
Confiabilidade
Fatores:
Verificao de Tipos
Trat. de excees
Aliasing
Legibilidade e
Redigibilidade
Custo
Categorias:
Treinamento
Programao
Compilao
Execuo
Teste
Manuteno
Evoluo
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Critrios de Avaliao
Outros critrios?
portabilidade, usabilidade,
Diferentes perspectivas?
Usurios
Gerentes
Programadores
Projetistas
Implementadores
5
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Critrios de Avaliao de LPs
Legibilidade
Expressividade
Simplicidade
Confiabilidade
Custo
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Projeto de Linguagens
Fatores
Atributos de qualidade
legibilidade, redigibilidade, confiabilidade, custo
Arquitetura
von Neumann
paralelas

Metodologia de programao
custos : hardware X software
orientado a funo, orientado a objetos, ?
6
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Projeto de Linguagens
Trade-offs
Confiabilidade versus Custo de execuo
Ada and C
Legibilidade versus Redigibilidade
APL
Flexibilidade versus Confiabilidade
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Mtodos de Implementao
hardware
memria
processador
linguagem de mquina
sistema operacional
7
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
A arquitetura de von Neumann
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Viso em camadas de um computador
8
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Mtodos de Implementao
Compilador
programa que traduz cdigo fonte escrito em uma
linguagem de programao de alto nvel para cdigo objeto
Interpretador
programa que executa cdigo fonte escrito em uma
linguagem de programao de alto nvel
Abordagens hbridas
soluo de compromisso entre compiladores e
interpretadores
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Compilao
traduo lenta
execuo veloz
9
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Interpretao (pura)
no h traduo
completa
execuo lenta
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Sistemas Hbridos
baixo custo de traduo
velocidade de execuo
mdia
10
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Ambientes de desenvolvimento
Coleo de ferramentas utilizadas no
desenvolvimento de software
Unix
Smalltalk
IDEs
JBuilder
VisualAge
Forte
Eclipse
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Categorias de Linguagens
Paradigmas
Imperativo
Declarativo
Funcional
Baseado em Lgica
Orientao a Objetos
Concorrente
Outros paradigmas?
Multi-paradigma?
11
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Discusso
Discuta os critrios de avaliao apresentados
Pense em critrios de avaliao adicionais
Confronte critrios versus perspectivas
Enumere argumentos a favor e contra a idia
de uma nica linguagem de programao para
todos os domnios

Potrebbero piacerti anche