Linguagens de programação
Legibilidade
Simplicidade global
– Linguagens com um pequeno número de componentes básicos são mais fáceis de aprender
– Multiplicidade de recursos (mais de uma maneira para realizar uma operação particular)
Ortogonalidade – Um conjunto relativamente pequeno de construções primitivas pode ser combinado em um número relativamente pequeno de maneira.
– Toda combinação possível é legal e significativa
Um exemplo: adicionar valores inteiros de 32 bits que residem na memória ou nos registradores e substituir um dos valores pela soma.
Instruções de controle
– A existência de estruturas de controle bem conhecidas (exemplo: while)
Tipos de dados e estruturas
– A presença de facilidades adequadas para definir tipos de dados e estruturas de dados
– Exemplo: suponha que em uma linguagem não exista um tipo de dado booleano e um tipo numérico seja usado para substituí-lo:
• timeOut = 1 (significado não claro)
• timeOut = true (significado claro)
Considerações sobre a sintaxe
– Formas identificadoras
• Restringir os identificadores a tamanhos muito pequenos prejudica a legibilidade
– Palavras especiais
• Formas das palavras especiais de uma linguagem (exemplo: while, class, for e begin-end)
• Palavras especiais de uma linguagem podem ser usadas como nomes de variáveis?
– Forma e significado
• Projetar instruções de forma que sua aparência indique sua finalidade.
Capacidade de Escrita
Simplicidade e ortogonalidade
– Poucos construtores, um pequeno número de primitivas, um pequeno conjunto de regras para combiná-los
Suporte para abstração
– A capacidade de definir e de usar estruturas ou operações complexas de maneira que permita ignorar muitos dos detalhes
Expressividade
– Um conjunto relativamente conveniente de maneiras de especificar operadores
– Exemplos:
•count++ é mais conveniente do que count = count + 1
• a inclusão do for em muitas