SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoSidney Roberto
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Valmon Gaudencio
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoJessica Ribeiro
 
Programação 1
Programação 1Programação 1
Programação 1essa
 
Linguagen..
Linguagen..Linguagen..
Linguagen..essa
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programaçãoessa
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_ImplementaçãoWagner Zaparoli
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programaçãoPaulo Muniz
 

Mais procurados (19)

Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Introdução a Linguagem de Programação
Introdução a Linguagem de ProgramaçãoIntrodução a Linguagem de Programação
Introdução a Linguagem de Programação
 
Programação 1
Programação 1Programação 1
Programação 1
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
1.1.paradigmas
1.1.paradigmas1.1.paradigmas
1.1.paradigmas
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Técnicas_Implementação
Técnicas_ImplementaçãoTécnicas_Implementação
Técnicas_Implementação
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Software
SoftwareSoftware
Software
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 

Destaque

Linguagens Especificas de Dominio
Linguagens Especificas de DominioLinguagens Especificas de Dominio
Linguagens Especificas de DominioLuiz Araujo
 
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃOINSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃOEdlauva Santos
 
Legibilidade do código
Legibilidade do códigoLegibilidade do código
Legibilidade do códigoFelipe Volpone
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacaopablogranola
 
Atps paradigmas da linguagem
Atps paradigmas da linguagemAtps paradigmas da linguagem
Atps paradigmas da linguagemRafael Cianci
 
Referenciais de qualidade aula 2
Referenciais de qualidade   aula 2Referenciais de qualidade   aula 2
Referenciais de qualidade aula 2referenciais
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonOsvaldo Santana Neto
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoAdriano Teixeira de Souza
 
PROJETO: “Escola educada, escola bem cuidada. Conscientização e conservação ...
PROJETO:  “Escola educada, escola bem cuidada. Conscientização e conservação ...PROJETO:  “Escola educada, escola bem cuidada. Conscientização e conservação ...
PROJETO: “Escola educada, escola bem cuidada. Conscientização e conservação ...Seduc MT
 

Destaque (12)

Linguagens Especificas de Dominio
Linguagens Especificas de DominioLinguagens Especificas de Dominio
Linguagens Especificas de Dominio
 
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃOINSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
INSTRUMENTOS E CRITÉRIOS DE AVALIAÇÃO
 
Legibilidade do código
Legibilidade do códigoLegibilidade do código
Legibilidade do código
 
Atps paradigmas linguagem programacao
Atps paradigmas linguagem programacaoAtps paradigmas linguagem programacao
Atps paradigmas linguagem programacao
 
Unidade04
Unidade04Unidade04
Unidade04
 
Atps paradigmas da linguagem
Atps paradigmas da linguagemAtps paradigmas da linguagem
Atps paradigmas da linguagem
 
Referenciais de qualidade aula 2
Referenciais de qualidade   aula 2Referenciais de qualidade   aula 2
Referenciais de qualidade aula 2
 
Matando o Java e Mostrando o Python
Matando o Java e Mostrando o PythonMatando o Java e Mostrando o Python
Matando o Java e Mostrando o Python
 
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmicoParadigmas de Linguagens de Programação - Escopo estático/dinâmico
Paradigmas de Linguagens de Programação - Escopo estático/dinâmico
 
Fortran
FortranFortran
Fortran
 
Paradigmas do Ruby
Paradigmas do RubyParadigmas do Ruby
Paradigmas do Ruby
 
PROJETO: “Escola educada, escola bem cuidada. Conscientização e conservação ...
PROJETO:  “Escola educada, escola bem cuidada. Conscientização e conservação ...PROJETO:  “Escola educada, escola bem cuidada. Conscientização e conservação ...
PROJETO: “Escola educada, escola bem cuidada. Conscientização e conservação ...
 

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

silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfAmlieOGalaxias
 
Scrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento ÁgilScrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento Ágilabacrazy
 
Palestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasPalestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasClaudio Martins
 
LIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de AlgoritmosLIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de AlgoritmosRafael Martins
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1Ramon Mayor Martins
 
Gabarito respostas (3)
Gabarito respostas (3)Gabarito respostas (3)
Gabarito respostas (3)Fernanda Goz
 
ESP204 - Cap. 9 - Refactoring.pdf
ESP204 - Cap. 9 - Refactoring.pdfESP204 - Cap. 9 - Refactoring.pdf
ESP204 - Cap. 9 - Refactoring.pdfAndreLisboa13
 
A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlangelliando dias
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfAthena542429
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Php Conf08 Refactoring
Php Conf08 RefactoringPhp Conf08 Refactoring
Php Conf08 RefactoringWildtech
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreLuis Borges Gouveia
 
Aula 05 qs - cocomo
Aula 05   qs - cocomoAula 05   qs - cocomo
Aula 05 qs - cocomoJunior Gomes
 
Aula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.ppt
Aula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.pptAula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.ppt
Aula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.pptssuserd654cb1
 

Semelhante a Plp aula-02-critérios de avaliação (20)

silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdfsilo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
silo.tips_paradigmas-e-linguagens-de-programaao-prof-josino-rodrigues-neto.pdf
 
Scrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento ÁgilScrum e o Ambiente de Desenvolvimento Ágil
Scrum e o Ambiente de Desenvolvimento Ágil
 
Palestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com MétricasPalestra TaSafo Conf-2015: Refatoração com Métricas
Palestra TaSafo Conf-2015: Refatoração com Métricas
 
LIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de AlgoritmosLIA - Linguagem Interpretada de Algoritmos
LIA - Linguagem Interpretada de Algoritmos
 
IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1IES GF - Linguagem de Programação Estruturada - Parte 1
IES GF - Linguagem de Programação Estruturada - Parte 1
 
AulaAula1(introducao)
AulaAula1(introducao)AulaAula1(introducao)
AulaAula1(introducao)
 
Gabarito respostas (3)
Gabarito respostas (3)Gabarito respostas (3)
Gabarito respostas (3)
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
ESP204 - Cap. 9 - Refactoring.pdf
ESP204 - Cap. 9 - Refactoring.pdfESP204 - Cap. 9 - Refactoring.pdf
ESP204 - Cap. 9 - Refactoring.pdf
 
LINGUAGENS CLP.ppt
LINGUAGENS CLP.pptLINGUAGENS CLP.ppt
LINGUAGENS CLP.ppt
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
A linguagem de programação Erlang
A linguagem de programação ErlangA linguagem de programação Erlang
A linguagem de programação Erlang
 
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdfPARADIGMAS_LINGUAGENS_PROG_aula02.pdf
PARADIGMAS_LINGUAGENS_PROG_aula02.pdf
 
A Arte do Código Limpo
A Arte do Código LimpoA Arte do Código Limpo
A Arte do Código Limpo
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Php Conf08 Refactoring
Php Conf08 RefactoringPhp Conf08 Refactoring
Php Conf08 Refactoring
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Aula 05 qs - cocomo
Aula 05   qs - cocomoAula 05   qs - cocomo
Aula 05 qs - cocomo
 
Aula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.ppt
Aula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.pptAula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.ppt
Aula_01_-_Apresenta_o_e_Programa_da_Disciplina_2012-1.ppt
 

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

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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?
  • 6. 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
  • 7. 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);
  • 8. 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;
  • 9. 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)
  • 10. 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); }
  • 11. 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];
  • 12. 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;
  • 13. 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
  • 14. 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
  • 15. 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;
  • 16. 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;
  • 17. 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;
  • 18. 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;
  • 19. 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
  • 20. 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;
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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