1.1.2 Nomenclatura e o Ambiente
Um aspecto crítico de uma linguagem de programação são os meios que ela fornece para o uso de nomes para se referir a objetos computacionais, e nosso primeiro desses meios são constantes. Dizemos que o nome identifica uma constante cujo valor é o objeto.
Em JavaScript, nomeamos constantes com declarações de constantes.
faz com que o intepretador associe o valor 2 ao tamanho do nome.1 Depois que o nome size foi associado ao número 2, podemos nos referir ao valor 2 pelo nome:
2
10
O interpretador JavaScript precisa executar a declaração da constante size antes que o nome size possa ser usado em uma expressão. Nesta edição, os exemplos de uma mesma página compartilham o mesmo ambiente: ao executar um bloco, as instruções dos blocos anteriores são avaliadas primeiro, automaticamente. Assim, executar
equivale a executar o programa completo, com suas dependências incluídas:
Aqui estão outros exemplos do uso de const:
314.159
62.8318
A declaração de constantes é o meio mais simples de abstração em nossa linguagem, pois nos permite usar nomes simples para se referir aos resultados de operações compostas, como a circumference (circunferência) calculada acima. Em geral, objetos computacionais podem ter estruturas muito complexas e seria extremamente inconveniente ter que lembrar e repetir seus detalhes cada vez que quisermos usá-los. De fato, programas complexos são construídos construindo, passo a passo, objetos computacionais de complexidade crescente. O interpretador torna a construção do programa passo a passo particularmente conveniente porque as associações nome-objeto podem ser criadas de forma incremental em interações sucessivas. Esse recurso incentiva o desenvolvimento e teste incrementais de programas e é amplamente responsável pelo fato de um programa JavaScript geralmente consistir em um grande número de funções relativamente simples.
Deve estar claro que a possibilidade de associar valores a nomes e posteriormente recuperá-los significa que o interpretador deve manter algum tipo de memória que monitore os pares nome-objeto. Essa memória é chamada de ambiente (mais precisamente o ambiente do programa, já que veremos mais tarde que uma computação pode envolver vários ambientes diferentes).2
[1] Neste livro, não mostramos a resposta do interpretador para avaliar programas que terminam com declarações, uma vez que isso pode depender de instruções anteriores. Consulte o exercício 4.8 para obter detalhes.
[2] O Capítulo 3 mostrará que essa noção de ambiente é crucial para entender como o interpretador funciona. O Capítulo 4 usará ambientes para implementar interpretadores.
📝 Encontrou algo errado nesta página?
Sua ajuda é muito importante para melhorar a qualidade da tradução!
🐛 Encontrou um erro?
Se você encontrou:
- Erro de tradução (palavra incorreta, termo técnico errado)
- Erro de ortografia ou gramática
- Link quebrado
- Código de exemplo que não funciona
- Problema de formatação
❓ Tem uma dúvida?
Se você tem:
- Dúvida sobre o conteúdo desta seção
- Pergunta sobre um conceito do SICP
- Dificuldade em entender algum exemplo
- Questão sobre a tradução de algum termo
💡 Tem uma sugestão de melhoria?
Se você quer sugerir:
- Melhoria na explicação
- Exemplo adicional
- Recurso visual (diagrama, ilustração)
- Qualquer outra ideia
🌍 Quer discutir a tradução?
Se você quer debater:
- Escolha de tradução de algum termo
- Consistência de terminologia
- Nuances do português
Obrigado por ajudar a melhorar o SICP.js PT-BR! ✨