Baixe o app para aproveitar ainda mais
Prévia do material em texto
Paradigmas de Linguagens Computacionais Henrique Rebêlo Centro de Informática Universidade Federal de Pernambuco @ Henrique Rebêlo, 2016. Some rights reserved. Except where otherwise indicated, this work is licensed under https://creativecommons.org/licenses/by-nc-sa/3.0/deed.pt/ Propriedades desejáveis em linguagens de programação Legibilidade O que você acha da legibilidade do código expresso em sua linguagem de programação? © Copyright 2015, Henrique Rebêlo. Legibilidade int x = 1; int retornaCinco() { x = x + 3; return 5; } main() { int y; y = retornaCinco(); y = y + x; } if (x > 1) if (x == 2) x = 3; else x = 4; Problema de legibilidade por efeito colateral em C Problema de legibilidade sem marcadores de bloco Redigibilidade O que você acha da redigibilidade do código expresso em sua linguagem de programação? © Copyright 2015, Henrique Rebêlo. Redigibilidade int add(int a, int b) { return a + b; } Add R1, R2 Add R1, R3 Confiabilidade Sua linguagem de programação é confiável? © Copyright 2015, Henrique Rebêlo. boolean u = true; int v = 0; while (u && v < 9){ v = u + 2; if ( v == 6) u = false; } try { System.out.println(a[i]); } catch(IndexOutOfBoundsException){ System.out.println(“Indexing error!”) } Confiabilidade Eficiência Sua linguagem de programação é eficiente? © Copyright 2015, Henrique Rebêlo. Eficiente Ortogonalidade Os conceitos de sua linguagem de programação são ortogonais? © Copyright 2015, Henrique Rebêlo. int x, y = 2, z = 3; byte a, b = 2, c = 3; x = y + z; a = b + c; Ortogonalidade Modularidade Quais mecanismos sua linguagem de programação possui para oferecer reusabilidade/modularidade? © Copyright 2015, Henrique Rebêlo. class Point extends Shape { private int x = 0, y = 0; int getX() { return x; } int getY() { return y; } void setX(int x) { this.x = x; } void setY(int y) { this.y = y; } }... 1 getX() getY() setX(int) setY(int) moveBy(int, int) Display 2Point Line getP1() getP2() setP1(Point) setP2(Point) moveBy(int, int) Shape moveBy(int, int) * Modularidade Facilidade de aprendizado Os conceitos na sua linguagem de programação são fáceis de aprender? © Copyright 2015, Henrique Rebêlo. Facilidade de aprendizado ModificabilidadeSua linguagem de programação oferece mecanismos para uma fácil modificação? © Copyright 2015, Henrique Rebêlo. const float pi = 3.14; Modificabilidade 20 21 PortabilidadeO código compilado em sua linguagem de programação é portável? © Copyright 2015, Henrique Rebêlo. Portabilidade Simetria Sua linguagem de programação é simétrica? Ou apresenta propriedades simétricas? © Copyright 2015, Henrique Rebêlo. Resumo das propriedades desejáveis em LP • Legibilidade • Redigibilidade • Confiabilidade • Eficiência • Ortogonalidade • Modularidade • Modificabilidade • Portabilidade • Simetria Paradigmas de Linguagens Computacionais Henrique Rebêlo Centro de Informática Universidade Federal de Pernambuco @ Henrique Rebêlo, 2016. Some rights reserved. Except where otherwise indicated, this work is licensed under https://creativecommons.org/licenses/by-nc-sa/3.0/deed.pt/
Compartilhar