View
108
Download
3
Category
Preview:
DESCRIPTION
Paradigmas de Linguagem de Programação - Aula 2 - Critérios de Avaliação de Linguagens
Citation preview
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
Recommended