Uma máquina construída para uma conta e uma máquina que pode receber diferentes procedimentos não representam a mesma ideia. Os projetos de Charles Babbage e as notas de Ada Lovelace ajudam a enxergar essa diferença.
Você tem uma calculadora que soma corretamente. Agora deseja calcular uma sequência inteira: receber valores, multiplicar alguns, guardar um resultado intermediário e repetir uma operação. Se cada etapa exige sua intervenção, a ferramenta ajuda nas contas, mas você continua conduzindo o procedimento. A pergunta deste capítulo é como transferir também parte dessa organização para a máquina.
Nos capítulos anteriores, observamos representações e operações incorporadas a objetos. Com Babbage e Lovelace, chegamos à possibilidade de descrever o trabalho por instruções. A mudança envolve uma arquitetura e uma maneira de pensar o que pode ser representado.
Tabelas numéricas e o problema do erro
No século XIX, tabelas impressas auxiliavam cálculos em atividades científicas e profissionais. Sua produção envolvia cálculo, cópia e composição tipográfica. A apresentação histórica do Computer History Museum relaciona os projetos de Babbage à tentativa de mecanizar essas etapas e reduzir erros. [1]
Uma tabela parece um objeto passivo: linhas de números em papel. Mas cada valor resulta de um processo. Se a conta está correta e a transcrição está errada, o leitor recebe uma informação incorreta. Essa observação ajuda a compreender por que a impressão dos resultados também fazia parte da ambição de Babbage.
O problema lembra uma situação atual: copiar manualmente valores corretos de um sistema para outro. Automatizar apenas o cálculo inicial não elimina o risco de transcrição.
Diferencial e Analítica: dois projetos que não devem ser confundidos
A Máquina Diferencial foi concebida para calcular tabelas usando relações matemáticas específicas. A Máquina Analítica, imaginada por Babbage a partir de 1834, ampliava o horizonte para uma máquina programável de propósito geral. O Computer History Museum distingue explicitamente os dois projetos. [1]
“Propósito geral” não quer dizer capaz de qualquer coisa sem limites. Significa que o funcionamento não fica restrito a uma única tabela ou tarefa predeterminada, desde que o problema possa ser expresso em operações que a máquina comporte. A capacidade de mudar instruções importa tanto quanto a de movimentar engrenagens.
A Máquina Analítica permaneceu incompleta durante a vida de Babbage. O modelo experimental parcial preservado pelo Science Museum permite observar uma parte materializada desse projeto. [2]

Separar o que será guardado do que será feito
Para entender a proposta, pense em uma mesa de trabalho. Em um lugar ficam os valores que serão usados; em outro, você realiza operações. Há ainda uma folha que informa a ordem dos passos. Na Máquina Analítica, essa separação aparece na distinção entre armazenamento, mecanismo de cálculo e controle por instruções, apresentados pelo museu na descrição dos projetos. [3]
Os termos históricos store e mill costumam ser traduzidos como depósito ou memória e moinho, respectivamente. O moinho seria a parte que operaria sobre os valores. Essas funções ajudam a compreender a arquitetura proposta, realizada por meios mecânicos.
Uma instrução, por exemplo, pode determinar que dois valores sejam somados. Um dado é o valor sobre o qual a operação atua. Diferenciar essas funções ajuda a compreender por que trocar os dados e trocar o procedimento são mudanças distintas.

Ada Lovelace e o alcance dos símbolos
Em 1843, Ada Lovelace publicou sua tradução de um texto de Luigi Menabrea sobre a Máquina Analítica, acompanhada de notas extensas. Entre elas, a nota G apresenta um procedimento relacionado aos números de Bernoulli. O documento permite examinar uma descrição detalhada de operações para uma máquina ainda não concluída. [4]
Números de Bernoulli são uma sequência matemática; não é necessário dominá-la para entender a relevância da nota. O aspecto central aqui é a explicitação de relações entre operações, variáveis e resultados intermediários. A nota permite estudar a organização de um programa concebido para aquela arquitetura.
Outro ponto das notas amplia o tema. Se algo puder ser representado por símbolos e relações manipuláveis, o alcance da máquina não precisa se restringir ao valor quantitativo dos números. Lovelace discutiu, por exemplo, a possibilidade de representar relações musicais. Ela reconhecia, assim, uma possibilidade conceitual além da aritmética. [4]
O mesmo número pode representar coisas diferentes
Considere uma tabela em que o número 1 represente uma nota musical, o 2 represente outra e assim por diante. Uma sequência de números pode representar uma melodia, desde que exista uma convenção sobre notas, duração e ordem. Sem essa convenção, o resultado é apenas uma sequência que o leitor não sabe interpretar.
Em outro sistema, os mesmos números podem indicar produtos em um estoque. A operação formal pode ser parecida, enquanto o significado muda. A força da representação está nessa possibilidade de trabalhar sobre símbolos e relacioná-los a diferentes domínios.
Esse exemplo contemporâneo simplificado ajuda a perceber por que a computação pode alcançar texto, imagem e som: é preciso estabelecer representações e operações adequadas. Cada domínio exige também regras adequadas para operar sobre essa representação.

Projeto, construção e uso são realizações distintas
Uma ideia pode ser matematicamente consistente e enfrentar dificuldades materiais ou organizacionais. Construir uma máquina exige recursos, fabricação, coordenação e manutenção. Fazer com que ela seja usada acrescenta questões sobre pessoas, instituições e utilidade.
A história de Babbage inclui projetos interrompidos e partes construídas. O museu também destaca que não há uma linha contínua e simples ligando seu trabalho a todos os computadores modernos: princípios foram retomados ou reinventados em outros contextos. [1]
Babbage contribuiu com projetos de enorme ambição; Lovelace interpretou e desenvolveu suas possibilidades. As contribuições se complementam: a arquitetura abria um campo de operações, e as notas ajudavam a perceber seu alcance.
O que significa programar uma tarefa
Imagine uma rotina para calcular o custo de uma compra: ler quantidade, ler preço por unidade, multiplicar, guardar o resultado e somar ao total. Agora acrescente a condição de que certos itens não entram em uma promoção. O procedimento precisa representar essa diferença de maneira explícita.
Esse exemplo mostra que programar envolve esclarecer relações que, na conversa cotidiana, podem ficar implícitas. “Faça como sempre” funciona entre pessoas que compartilham um contexto. Uma descrição executável precisa especificar como esse contexto será representado ou consultado.
Também revela uma limitação. Um programa pode executar fielmente uma regra inadequada. Se a regra da promoção foi descrita de forma errada, o computador não corrige automaticamente a política comercial. A qualidade do resultado depende do procedimento, dos dados e da relação com o problema real.
Uma nova pergunta no horizonte
Com Babbage e Lovelace, passamos da operação isolada à organização de procedimentos e à representação de diferentes tipos de informação. Ainda não estamos diante de uma máquina que aprende com dados. Estamos identificando uma condição importante para muitas tecnologias posteriores: a capacidade de descrever tarefas de forma executável.
O próximo capítulo examina uma pergunta mais abstrata: o que significa dizer que um procedimento pode ser calculado por uma máquina? Alan Turing ajudou a dar precisão a essa questão e, anos depois, propôs outra maneira de investigar o comportamento inteligente. A história avança quando aprendemos a formular melhor o problema.