A origem da idéia de programar uma máquina vem da necessidade de que as
máquinas de tecer produzissem padrões de cores diferentes. Assim, no
século XVIII foi criada uma forma de representar os padrões em cartões de papel perfurado, que eram tratados manualmente. Em
1801,
Joseph Marie Jacquard (
1752-
1834) inventa um
tear mecânico, com uma leitora automática de cartões.
A ideia de Jacquard atravessou o
Canal da Mancha, onde inspirou
Charles Babbage (
1792-
1871), um professor de matemática de
Cambridge,
a desenvolver uma máquina de “tecer números”, uma máquina de calcular
onde a forma de calcular pudesse ser controlada por cartões.
Tudo começou com a tentativa de desenvolver uma máquina capaz de calcular polinômios por meio de diferenças, o
calculador diferencial.
Enquanto projetava seu calculador diferencial, a idéia de Jacquard fez
com que Babbage imaginasse uma nova e mais complexa máquina, o
calculador analítico, máquina com alguns elementos que remetem aos computadores atuais.
Sua parte principal seria um conjunto de rodas dentadas, o moinho,
formando uma máquina de somar com precisão de cinquenta dígitos. As
instruções seriam lidas de cartões perfurados. Os cartões seriam lidos
em um dispositivo de entrada e armazenados, para futuras referências, em
um banco de mil registradores. Cada um dos registradores seria capaz de
armazenar um número de cinquenta dígitos, que poderiam ser colocados lá
por meio de cartões a partir do resultado de um dos cálculos do moinho.
Além disso tudo, Babbage imaginou a primeira
máquina de impressão,
que imprimiria os resultados dos cálculos, contidos nos registradores.
Babbage conseguiu, durante algum tempo, fundos para sua pesquisa, porém
não conseguiu completar sua máquina no tempo prometido e não recebeu
mais dinheiro. Hoje, partes de sua máquina podem ser vistas no
Museu Britânico, que também construiu uma versão completa, utilizando as técnicas disponíveis na época.
Junto com Babbage, trabalhou a jovem
Ada Augusta, filha do poeta
Lord Byron,
conhecida como Lady Lovelace e Ada Lovelace. Ada foi a primeira
programadora da história, projetando e explicando, a pedido de Babbage,
programas para a máquina inexistente. Ada inventou os conceitos de
subrotina, uma seqüência de
instruções
que pode ser usada várias vezes; de loop, uma instrução que permite a
repetição de uma seqüência de instruções, e do salto condicional,
instrução que permite saltar para algum trecho do programa caso uma
condição seja satisfeita.
Ada Lovelace e Charles Babbage estavam avançados demais para o seu tempo, tanto que até a
década de 1940,
nada se inventou parecido com seu computador analítico. Até essa época
foram construídas muitas máquinas mecânicas de somar destinadas a
controlar negócios (principalmente caixas registradoras) e algumas
máquinas inspiradas na calculadora diferencial de Babbage, para realizar
cálculos de engenharia (que não alcançaram grande sucesso).
Réplica (parte) do Calculador Diferencial criado por
Charles Babbage.