Lin C Rangel
•Simplicidade Global: número de operadores e palavras reservadas é pequeno. Sobrecarga de operadores e multiplicidade de recursos.
–Exemplo: Incrementar uma variável inteira: cont = cont +1; cont += 1; cont++; ++cont; •Ortogonalidade: Existe falta de ortogonalidade em alguns aspectos de C.
–Um registro pode ser retornado de uma função, mas um array não.
–Parâmetros podem ser passados por valor, exceto array que deve ser passado por referência.
–Um elemento de uma estrutura não pode ser void, ou uma estrutura do mesmo tipo.
–Um elemento de um array não pode ser void ou uma função.
•Instruções de Controle: Programação estruturada (while, for, ...) reduzindo o uso do goto e consequentemente melhorando a legibilidade.
•Tipos de Dados e Estruturas: Possui facilidades para definir tipos e estruturas de dados adequadas para determinado problema.
•Sintaxe: três fatores de sintaxe:
–Formas de Identificadores: o limite para identificadores em C não é pequeno, permitindo expressar o nome do identificador mais adequadamente.
–Palavras reservadas: C não permite utilizar palavras reservadas como variáveis.
Sintaxe: três fatores de sintaxe:
–Forma e significado: Instruções que a aparência indica a finalidade. Em C: -> (Ponteiro)
Violação em C: A palavra reservada static possui diferentes significados:
Definição de variável dentro da função: variável é criada no momento da compilação;
Definição de variável fora de funções: é visível apenas no arquivo onde ocorre a definição.
Em relação a variáveis static globais, Schildt (1996) afirma que esta é reconhecida apenas no arquivo no qual a mesma foi declarada.
Capacidade de Escrita
•Simplicidade e Ortogonalidade: demasiada ortogonalidade pode prejudicar a capacidade de escrita. A linguagem C possui poucos construtores e um pequeno conjunto de regras para combiná-los.
•Suporte para Abstração: C permite a abstração de problemas reais com a utilização de tipos de dados existentes ou