Especificação de Software
Definição de um sistema
Refutações
Scalzi:
Necessita descrição completa do sistema antes de implementar
Oestreicher:
Impossibilidade de voltar ao passo 1 caso necessario
Engeli
Desnecessário para pequenos sistemas
Não funciona para sistemas grandes
Linguagens de Implementação
Preconceito com LPs simples
Simplicidade afasta programadores
Acham que eles podem desenvolver uma LP própria
Mudança de ponto de vista
Menos dependente de usuario, maior eficiencia
Dijskstra
Naturalidade X Eficiencia das LP
maior naturalidade não significa menor eficiencia
Wirth
LPs devem Encontrar um meio-termo
Mais próxima possivel da maquina, mas independente dela
Linguagens que refletem propriedades do hardware
Podem desenvolver programa eficientes
Objeção principal de Linguagens de implementação que são distantes do hardware (alto nível)
Longe das realidades das maquinas
Não muito eficientes
Afetam engenharia de software
definem nossos raciocínios
Linguagens de Especificação
Schwartz:
Definição de dados separado dos procedimentos
Falkoff
Há espaço para duas linguagens
linguagem natural
linguagem formal de programação
Perlis
questões de programação giram em torno de uma linguagem
facilita a vida dos desenvolvedores
Feldman
descrição de estados
X*X = z
x
processo descritivo
linguagem de programação
Lowry
divergência das linguagens se deve à falta de boas técnicas de otimização
Seegmüller
Linguagem de implementação != linguagem de especificação