O primeiro algoritmo da História

Programar às vezes é frustrante. Quantas vezes codificamos um programa que consideramos perfeito, ou construímos aquele sistema redondo, que simplesmente não entra em produção por “mudanças nas prioridades do cliente”? Ou temos a solução toda pronta na cabeça e assim que o projeto começa e novos profissionais são incorporados à equipe tudo vira uma colcha de retalhos completamente diferente daquilo que havíamos imaginado?

Não sei se serve de consolo, mas não somos o primeiro a passar por isso.

Analytical Engine

Em 1837, o matemático inglês Charles Babbage apresentou os primeiros projetos para construção de um equipamento mecânico programável e de uso geral: o analytical engine.

O projeto previa uma unidade de lógica e aritmética e uma unidade de controle de fluxo que responderia a instruções para desvios condicionais e loops controlados. O “sistema” contaria também com dispositivo capaz de armazenar o valor de até 1000 variáveis. A estrutura deste equipamento, portanto, era basicamente a mesma utilizada nos primeiros computadores eletrônicos, mais de cem anos depois.

O equipamento seria alimentado por dois tipos de cartões perfurados: o primeiro  Babbage chamou de “formulae” e conteria instruções para o equipamento. Os cartões do segundo tipo eram chamados de “data”, e definiriam variáveis e valores que seriam usados pelos “formulae”.

Ada Lovelace

Todo o trabalho de Babbage foi originalmente publicado em Francês e logo depois traduzido para o Italiano. Oito anos depois, Ada Lovelace, que trabalhava com Babbage, fez a tradução do Italiano para o Inglês, incorporando sete anotações que ela mesma produzira, chamando-as simplesmente de “Note A”, “Note B”, “Note C” e assim sucessivamente até a “Note G”.

A “Note G”, especificamente, começava com alguns comentários de Lovelace sobre o que era (e o que não era) possível fazer com o Analytical Engine. Em seguida, para exemplificar suas afirmações anteriores, ela apresentava um diagrama indicando as variáveis e as instruções necessárias para o equipamento calcular os Números de Bernoulli.

O texto original da “Note G” pode ser consultado aqui.

Muitos consideram que essa seção final da “Note G” é o primeiro programa publicado para implementar uma função específica numa máquina genérica.

Teste e Produção

Mas o equipamento, em si, nunca foi construído. Nos seus últimos anos de vida Charles Babbage buscou simplificar o projeto e chegou mesmo a montar um protótipo parcial antes de falecer, em 1871.

Em 1878, a Associação Britânica para Avanço da Ciência reconheceu que o projeto parecia ser útil, mas desaconselhou sua construção alegando que os custos envolvidos poderiam não compensar os benefícios esperados.

Em 1910, o filho de Babbage, Henry, informou que havia construído uma parte do projeto e que o havia utilizado para calcular múltiplos do número pi. Mas, diferentemente do projeto original, o equipamento produzido por Henry não era programável nem possuída sistema de armazenamento de dados.

Conclusão

Ada Lovelace, em sua “Note G”, não só escreveu o primeiro algoritmo da História, mas também como um programa poderia ser construído no equipamento projetado por Babbage: um primeiro programa e um primeiro manual de programação.

Há quem questione o pioneirismo de Lovelace. Alguns também discutem se o Analytical Engine realmente teria capacidade para processar funções gerais.

Seja como for, o primeiro programa da História nunca foi executado.

Mas isso não diminui o mérito pelo pioneirismo desses dois personagens. Mesmo projetos não implantados podem contribuir não só para o nosso desenvolvimento pessoal, mas também para o desenvolvimento da equipe com quem estamos trabalhando.

 

Publicado por

P.A.Dias

Paulo André tem mais de 30 anos de experiência em desenvolvimento e manutenção de sistemas em plataforma mainframe. Atuou como programador, analista, coordenador técnico, gerente e executivo de projetos em uma multinacional da área de Tecnologia da Informação.

2 comentários em “O primeiro algoritmo da História”

Deixe uma resposta para Gastão Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *