11
1 Conceitos de Linguagens de Programação, 4e Robert W. Sebesta © 2000 Bookman Fonte (livro-texto): Conceitos de Linguagens de Programação, 4ed. Robert W. Sebesta 1 Conceitos de Linguagens de Programação, 4e Robert W. Sebesta © 2000 Bookman Agenda 1. Razões para estudar conceitos de LPs 2. Domínios de programação 3. Critérios de avaliação de linguagens 4. Projeto de linguagens 1. Fatores 2. Compromissos 5. Métodos de implementação 6. Ambientes de programação 7. Categorias de linguagens

Paradigma Conceitos LP

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