programacao
1
“Uma boa linguagem de programação é um universo conceitual para pensar em programação.”
Alan Perlis
VISÃO GERAL DO CAPÍTULO
1.1
PRINCÍPIOS
2
1.2
PARADIGMAS
3
1.3
TÓPICOS ESPECIAIS
5
1.4
UMA BREVE HISTÓRIA
6
1.5
SOBRE O PROJETO DE LINGUAGEM
11
1.6
COMPILADORES E
MÁQUINAS VIRTUAIS
18
RESUMO
20
1.7
EXERCÍCIOS
21
Da mesma forma que as nossas linguagens naturais, as linguagens de programação facilitam a expressão e a comunicação de idéias entre pessoas. Entretanto, linguagens de programação diferem das linguagens naturais de duas maneiras importantes. Em primeiro lugar, linguagens de programação também permitem a comunicação de idéias entre pessoas e computadores. Em segundo lugar, as linguagens de programação possuem um domínio de expressão mais reduzido do que o das linguagens naturais. Isso quer dizer que elas facilitam apenas a comunicação de idéias computacionais. Assim, uma linguagem de
1
2
Capítulo 1
Visão Geral
programação deve satisfazer requisitos diferentes daqueles de uma linguagem natural. Este texto explora esses requisitos e as alternativas de projeto de linguagens que eles evocam.
Neste estudo, identificamos as muitas semelhanças entre linguagens de programação e linguagens naturais. Também examinamos as diferenças fundamentais que são impostas pela configuração computacional na qual um programa deve funcionar. Examinamos as características das linguagens de programação tanto abstratamente quanto ativamente. Isso significa que combinamos um tratamento conceitualmente rico de projeto de linguagens de programação com um estudo prático em laboratório sobre como esses conceitos afetam projetistas de linguagens e programadores em uma ampla faixa de domínios de aplicações.
Este estudo é importante porque os alunos de ciência da computação de hoje serão os projetistas e usuários das linguagens de programação de amanhã. Para se tornar
um