Upload
giovani-zandonai
View
12
Download
0
Embed Size (px)
Citation preview
1Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Fonte (livro-texto):Conceitos de Linguagens de Programao, 4ed.Robert W. Sebesta
1
Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Agenda
1. Razes para estudar conceitos de LPs2. Domnios de programao3. Critrios de avaliao de linguagens4. Projeto de linguagens
1. Fatores2. Compromissos
5. Mtodos de implementao6. Ambientes de programao7. Categorias de linguagens
2Conceitos 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 ProgramaoAlgumas 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,
3Conceitos 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
LegibilidadeFatores:
Simplicidade Ortogonalidade Estr. de controle Estruturas e tipos de
dados Aspectos sintticos
RedigibilidadeFatores:
Simplicidade Ortogonalidade Suporte a abstrao Poder de expresso
4Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Critrios de Avaliao ConfiabilidadeFatores:
Verificao de Tipos Trat. de excees Aliasing Legibilidade e
Redigibilidade
CustoCategorias:
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
5Conceitos 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 LinguagensFatores
Atributos de qualidade legibilidade, redigibilidade, confiabilidade, custo
Arquitetura von Neumann paralelas
Metodologia de programao custos : hardware X software orientado a funo, orientado a objetos, ?
6Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Projeto de LinguagensTrade-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
7Conceitos 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
8Conceitos de Linguagens de Programao, 4e Robert W. Sebesta 2000 Bookman
Mtodos de Implementao Compilador
programa que traduz cdigo fonte escrito em umalinguagem 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
9Conceitos 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