plp aula-02-critérios de avaliação
DESCRIPTION
Paradigmas de Linguagem de Programação - Aula 2 - Critérios de Avaliação de LinguagensTRANSCRIPT
![Page 1: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/1.jpg)
Prof. José Augusto Meirelles (Guto) Paradigmas de Linguagem de Programação - Aula 2
Critérios de Avaliação de Linguagens de Programação
Material desenvolvido pelo Prof. Fernando Bryan Frizzarin
![Page 2: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/2.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Paradigma
• define um exemplo típico ou modelo de algo
• representação de um padrão a ser seguido
• uma referência inicial como base de modelo para estudos e pesquisas
![Page 3: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/3.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Critérios de Avaliação de LP • Alguma das principais áreas de aplicação de linguagens de
programação: – Aplicação Científicas
• Operações com números reais • Ex.: Fortran
– Aplicação Comercial • Números decimais, relatórios e Banco de Dados • Ex.: COBOL, Clipper, Delphi
– Inteligência Artificial • Simbolismo e conexionismo ao invés de Números • Ex.: LISP, Prolog
– Programação de Sistemas/Software Básico • Uso contínuo, “portabilidade”, rapidez • Ex.: C, C++
– Linguagens de Scripting • Automação do SO, Software para Web • Ex.: PHP, Pearl
![Page 4: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/4.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Critérios de Avaliação de LP
• Critérios mais utilizados:
– Legibilidade (readability)
– Capacidade de escrita (writability)
– Confiabilidade
– Custos
![Page 5: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/5.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Critérios de Avaliação de LP
• Legibilidade:
– Facilidade com que um programa pode ser lido e entendido;
• Manutenção tem mais relevância que a codificação
– Deve ser considerada no contexto do domínio do problema;
• A linguagem foi projetada para isso?
![Page 6: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/6.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Principais fatores de avaliação
– Simplicidade
– Estruturas de controle
– Tipos de dados e estruturas
– Sintaxe
![Page 7: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/7.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Simplicidade
– Afeta fortemente a legibilidade;
– Menor quantidade de componentes básicos;
– Menor quantidade possível de maneiras diferentes de fazer a mesma coisa;
C cont = cont + 1; cont += 1; cont++; ++cont;
Pascal cont := cont + 1; Inc(cont);
![Page 8: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/8.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Simplicidade
– Menor quantidade possível de operações diferentes feitas por um único operador
C: operador * // multiplicação cont = cont * 4; // ponteiros *cont = x;
Pascal: operador * // multiplicação cont := cont * 4; // ponteiros cont^ = x;
![Page 9: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/9.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Simplicidade
– A simplicidade exagerada pode tornar a linguagem mais dificil de ler (ex.: assembly)
![Page 10: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/10.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Estruturas de controle – Um programa que pode ser lido linearmente do
início ao fim é muito mais fácil de ser entendido;
– Estruturas if-then-else, while, for e etc. permitem leitura mais compreensível;
Basic início da década de 70 C
10 READ R 20 IF R = 0 THEN GOTO 50 30 PRINT R 40 GOTO 10
int r = 1; while (r != 0) { scanf(&r); if (r != 0) printf(“%d”,r); }
![Page 11: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/11.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Tipos de dados e Estruturas
– Possibilidade de definir estruturas
Fortran 77 C
CHARACTER (LEN = 30) NOME (100) INTEGER IDADE(100) INTEGER N_REGISTRO(100)
typedef struct { char nome[30]; int idade; int n_registro; } Funcionario; Funcionario func[100];
![Page 12: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/12.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Tipos de dados e Estruturas
– Tipos de dados
C Pascal
int valor_ok; valor_ok = 0; valor_ok = 1;
Var Valor_ok : Boolean; Valor_ok := false; Valor_ok := true;
![Page 13: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/13.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Legibilidade
• Sintaxe
– Identificadores com tamanhos reduzidos prejudicam a legibilidade
– Palavras especiais
• begin end; { };
• end if, end for;
– Forma e significado;
• Uma mesma palavra com uma única função
![Page 14: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/14.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Critérios de Avaliação de LP
• Critérios mais utilizados:
– Legibilidade (readability)
– Capacidade de escrita (writability)
– Confiabilidade
– Custos
![Page 15: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/15.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Capacidade de escrita
• Indica a facilidade de uma linguagem em ser usada em determinado problema;
• Deve ser considerada no contexto do domínio do problema da linguagem;
![Page 16: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/16.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Capacidade de escrita
• Principais fatores de avaliação:
– Simplicidade;
– Ortogonalidade;
– Suporte para abstração;
– Expressividade;
![Page 17: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/17.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Capacidade de escrita
• Simplicidade:
– Excesso de construções;
– Programadores aprendem somente parte da linguagem;
![Page 18: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/18.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Capacidade de escrita
• Ortogonalidade:
– Capacidade de combinar um conjunto pequeno de primitivas para criar um conjunto relativamente pequeno de estruturas de controle;
![Page 19: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/19.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Capacidade de escrita
• Suporte para abstração:
– Possibilidade de definir e usar estruturas complexas sem que os aspectos internos sejam mostrados ao programador;
• Ex.: criação de funções
![Page 20: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/20.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Capacidade de escrita
• Expressividade:
– Formas simples de executar operações frequentes e complexas;
• Ex.: criação de janelas no Delphi
Var fm : Tform;
Begin
fm := Tform.Create;
fm.Show;
End;
![Page 21: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/21.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Critérios de Avaliação de LP
• Critérios mais utilizados:
– Legibilidade (readability)
– Capacidade de escrita (writability)
– Confiabilidade
– Custos
![Page 22: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/22.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Confiabilidade
• Comportamento conforme especificação em todas as situações;
– Principais fatores:
• Verificação de tipos
• Manipulação de exceções
• Legibilidade e capacidade de escrita
![Page 23: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/23.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Critérios de Avaliação de LP
• Critérios mais utilizados:
– Legibilidade (readability)
– Capacidade de escrita (writability)
– Aplicabilidade
– Custos
![Page 24: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/24.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Custos
• Custo de treinamento
• Custo de escrita de programas
• Custo de compilação
• Custo de execução
• Custo de implementação
• Custo de confiabilidade
• Custo de manutenção
![Page 25: Plp aula-02-critérios de avaliação](https://reader030.vdocuments.pub/reader030/viewer/2022020218/55834d23d8b42a8f548b5054/html5/thumbnails/25.jpg)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação [email protected]
Exercícios
• Capítulo 1
– Questões de Revisão
• 1-19
– Problemas
• 3,4,7,8,9