Paradigmas
Aspectos Preliminares
ISBN 0-321-19362-8
Tópicos
• • • • • • • • Motivação Domínios de Programação Critérios de Avaliação de Linguagem Influências sobre Projetos de Linguagem Categorias de Linguagem Custo/Benefício em Projetos de Linguagem Métodos de Implementação Ambientes de Programação
1-2
Motivação: Por que estudar Linguagens de Programação ?
• Aumentar a capacidade de expressar idéias • Maior embasamento para a escolha de linguagens apropriadas • Aumentar a capacidade para aprender novas linguagens • Entender melhor a importância da implementação • Melhorar a capacidade de projetar novas linguagens • Aumento global da computação
1-3
Domínios de Programação
• Aplicações científicas
– Necessitam grande número de computações aritméticas com números reais
• Aplicações comerciais
– Produzem relatórios, usam números decimais e manipulam textos
• Inteligência artificial
– Usa computações simbólicas em vez de numéricas
• Programação de sistemas (software básico)
– Necessita eficiência devido ao uso contínuo
• Linguagens de Scripting
– Colocam uma lista de comandos em um arquivos para serem executados
• Linguagens de propósitos especiais
1-4
Critérios de Avaliação de Linguagens
• Legibilidade
– Critério mais importante – Características que contribuem para legibilidade:
• Simplicidade global
– Muitos componentes básicos é ruim – Mais de uma maneira de realizar uma operação é ruim
• Ortogonalidade
– Torna as linguagens fáceis de leitura e aprendizagem – O signficado de um recurso da linguagem é independente do contexto – Um conjunto relativamente pequeno de construções primitivas podem ser combinadas em um número relativamente pequeno de maneiras para construir as estruturas de dados e controle da linguagem – Qualquer combinação possível das construções primitivas é aceita – Falta de ortogonalidade acarreta exceções às regras da linguagem
1-5
Critérios de Avaliação de Linguagens
– Características