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
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Critérios de Avaliação de LP 
•Critérios mais utilizados: 
–Legibilidade (readability) 
–Capacidade de escrita (writability) 
–Confiabilidade 
–Custos
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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?
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Legibilidade 
•Principais fatores de avaliação 
–Simplicidade 
–Estruturas de controle 
–Tipos de dados e estruturas 
–Sintaxe
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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);
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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;
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Legibilidade 
•Simplicidade 
–A simplicidade exagerada pode tornar a linguagem mais dificil de ler (ex.: assembly)
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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); 
}
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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];
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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;
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Critérios de Avaliação de LP 
•Critérios mais utilizados: 
–Legibilidade (readability) 
–Capacidade de escrita (writability) 
–Confiabilidade 
–Custos
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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;
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Capacidade de escrita 
•Principais fatores de avaliação: 
–Simplicidade; 
–Ortogonalidade; 
–Suporte para abstração; 
–Expressividade;
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Capacidade de escrita 
•Simplicidade: 
–Excesso de construções; 
–Programadores aprendem somente parte da linguagem;
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Capacidade de escrita 
•Ortogonalidade: 
–Capacidade de combinar um conjunto pequeno de primitivas para criar um conjunto relativamente pequeno de estruturas de controle;
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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;
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Critérios de Avaliação de LP 
•Critérios mais utilizados: 
–Legibilidade (readability) 
–Capacidade de escrita (writability) 
–Confiabilidade 
–Custos
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Critérios de Avaliação de LP 
•Critérios mais utilizados: 
–Legibilidade (readability) 
–Capacidade de escrita (writability) 
–Aplicabilidade 
–Custos
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
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
PLP – Aula 2 – Critérios de Avaliação de Linguagens de Programação 
jose.meirelles@aedu.com 
Exercícios 
•Capítulo 1 
–Questões de Revisão 
•1-19 
–Problemas 
•3,4,7,8,9

Plp aula-02-critérios de avaliação

  • 1.
    Prof. José AugustoMeirelles (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
  • 2.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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
  • 3.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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
  • 4.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Critérios de Avaliação de LP •Critérios mais utilizados: –Legibilidade (readability) –Capacidade de escrita (writability) –Confiabilidade –Custos
  • 5.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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?
  • 6.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Legibilidade •Principais fatores de avaliação –Simplicidade –Estruturas de controle –Tipos de dados e estruturas –Sintaxe
  • 7.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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);
  • 8.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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;
  • 9.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Legibilidade •Simplicidade –A simplicidade exagerada pode tornar a linguagem mais dificil de ler (ex.: assembly)
  • 10.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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); }
  • 11.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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];
  • 12.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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;
  • 13.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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
  • 14.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Critérios de Avaliação de LP •Critérios mais utilizados: –Legibilidade (readability) –Capacidade de escrita (writability) –Confiabilidade –Custos
  • 15.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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;
  • 16.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Capacidade de escrita •Principais fatores de avaliação: –Simplicidade; –Ortogonalidade; –Suporte para abstração; –Expressividade;
  • 17.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Capacidade de escrita •Simplicidade: –Excesso de construções; –Programadores aprendem somente parte da linguagem;
  • 18.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Capacidade de escrita •Ortogonalidade: –Capacidade de combinar um conjunto pequeno de primitivas para criar um conjunto relativamente pequeno de estruturas de controle;
  • 19.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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
  • 20.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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;
  • 21.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Critérios de Avaliação de LP •Critérios mais utilizados: –Legibilidade (readability) –Capacidade de escrita (writability) –Confiabilidade –Custos
  • 22.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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
  • 23.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Critérios de Avaliação de LP •Critérios mais utilizados: –Legibilidade (readability) –Capacidade de escrita (writability) –Aplicabilidade –Custos
  • 24.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com 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
  • 25.
    PLP – Aula2 – Critérios de Avaliação de Linguagens de Programação jose.meirelles@aedu.com Exercícios •Capítulo 1 –Questões de Revisão •1-19 –Problemas •3,4,7,8,9