Ada Lovelace, Charles Babbage e ENIAC: uma breve história da computação
É curioso imaginar como algo tão natural como ver uma imagem no celular ou ouvir música no computador seria considerado há muito anos algo impossível ou até mesmo parte de um delírio. O avanço tecnológico nas últimas décadas não parece ser surpreendente. No entanto, o início de desenvolvimento de tecnologias tão comuns como os computadores foi assinalado pelo árduo trabalho de diversas mentes e habilidades. Desse modo, três grandes marcos na história da computação contam bastante sobre como os avanços tecnológicos foram conquistados. Além disso, compreendemos que a combinação do trabalho em equipe, inovações na engenharia e formas de pensar a operação dessas máquinas foram importantes para a base da computação atual.
Quem foi Ada Lovelace, considerada a mãe da programação?
Retrato de Ada, condessa de Lovelace, 1840. Ela está elegantemente vestida em um vestido de noite com mantilha e leque, aos 25 anos de idade. Retirado do Science Museum Group Collection.
Durante o século XIX o famoso poeta romântico Lord Byron, no anseio em levar uma vida moderada, cortejou a bela dama e matemática Anne Isabella Milbanke. Foi então na Londres de 1815, entre casamento de letras e números, que nasceu Ada Lovelace. Reconhecida por muitos como a mãe da programação, sua história é uma amálgama de criatividade e lógica, elementos que foram a marca durante a construção de seus projetos. Já aos doze anos escreveu seu primeiro livro intitulado “Flyology” , que continha os planos da jovem que sonhava em romper barreiras e voar. Mal sabia ela que voaria tão alto como nunca imaginou, e que suas ideias estariam em meio a telas/pixels, códigos e binários.
Sua mentora, que curiosamente também era sua mãe, exerceu profunda influência no direcionamento dos estudos da ainda pequena Ada. Anabella almejava reprimir os “impulsos” pelas artes ou poesia herdados do pai e isso resultou em um intenso mergulho no universo da matemática. Foi também através de sua mãe e saraus rodeados por grandes cientistas da época que a condessa de Lovelace conheceu Charles Babbage e o protótipo de sua fabulosa invenção, a máquina diferencial. Aquilo foi como mágica para Lovelace, que desejou trabalhar com Babbage mas foi recusada incontáveis vezes.
Após seu casamento e chegada de filhos, Lovelace buscou maior aprofundamento em matemática com o auxílio de um novo tutor que foi essencial à sua formação com os estudos em lógica e álgebra abstrata, Augustus de Morgan. No entanto novamente a condessa solicitou a tutoria de Babbage, e sua persistência foi tamanha que se debruçou em compreender o funcionamento do instrumento que era mais capaz e também mais veloz do que qualquer ser humano em realizar operações matemáticas e então traduziu um tratado do engenheiro Luigi Menabrea sobre a máquina analítica de Babbage para o inglês com notas tão minuciosas e extensas que finalmente garantiu o status de pupila que tanto almejava.
A contribuição de Ada Lovelace à história da computação
Movida pelo entusiasmo em desenvolver aplicações práticas ao uso da máquina analítica, foi durante a escrita das Notas em sua versão traduzida que Ada apresentou conceitos que transcendem o período e até mesmo a aplicação na máquina analítica. O método desenvolvido para operar a máquina continha o algoritmo para calcular os números de Bernoulli e organizava em grupos várias operações que poderiam ser repetidas ou reutilizadas com o suporte de cartões perfurados.
Podemos sintetizar alguns conceitos de Ada como:
- A ideia de loop
- A ideia de sub-rotinas
- Conceito precursor de estruturas condicionais
- A relação entre qualquer elemento que pudesse ser representado por símbolos, isso em grande medida aos ensinamentos de De Morgan
- Uma máquina de propósito, de uso geral, pois tem a capacidade de ser reprogramada. Poderia processar com música, cálculos, tear…
Diagrama de um algoritmo para a máquina analítica para o cálculo dos números de Bernoulli, de Sketch of The Analytical Engine, inventado por Charles Babbage por Luigi Menabrea com notas de Ada Lovelace, 1842.
O pensamento de Ada é revolucionário porque compreendeu a importância do elemento humano para o uso das máquinas e enxergava a aplicação matemática como uma ciência poética. Ao declarar que “A Máquina Analítica não tem pretensão alguma de originar qualquer coisa”, a primeira programadora entendia, ainda no berço da revolução industrial, que as máquinas deveriam servir e resolver problemas humanos.
Charles Babbage, Lovelace e a máquina analítica
Nascido em 1791, desde muito jovem Babbage demonstrava grande interesse por máquinas, especialmente aquelas que podiam desempenhar tarefas que antes eram exclusivas aos humanos. De família abastada, ainda ao 9 anos de idade já frequentava com sua mãe salões de exposições, museus e através desses espaços teve contato com as engenhocas chamadas autômatos.
Embora não tenha se adaptado ao ensino formal, Babbage teve oportunidade de ser tutorado por excelentes professores e ingressou em Cambridge por conta de sua excelência em matemática, onde logo montou parcerias com os matemáticos John Herschel e George Peacock, que fundaram o clube curiosamente chamado de Sociedade Analítica e tinha como foco adotar a notação “d” desenvolvida por Leibniz em contraparte a notação newtoniana.
Durante seus estudos, Babbage sentiu a necessidade de otimizar os processos em relação ao trabalho exaustivo de realizar cálculos em punho e retomou a ideia de tabular logaritmos de forma mecânica. O projeto era ambicioso em nível conceitual e estrutural, pois precisava comprovar sua funcionalidade para conseguir os subsídios do governo britânico e construir sua máquina. Babbage apresentou seu projeto da máquina que possibilita a construção de tabelas de logaritmos a partir do cálculo de polinômios e conseguiu o subsídio almejado em 1823. Todavia, Babbage se deparou com um problema técnico, pois o engenheiro contratado e ele próprio não possuíam as habilidades técnicas para executar o projeto. Além disso, Charles Babbage já tinha em mente a construção de uma nova máquina.
Inspirada na calculadora de Pascal, na máquina aritmética de Leibniz e no tear de Jacquard, que funcionava através de cartões perfurados para montar padrões, a máquina analítica tinha um alcance maior. Ela foi idealizada para realizar diferentes operações de acordo com a instrução que recebesse, e Babbage entendia que esta invenção apresentava um propósito mais abrangente devido à característica de exercer funções de modo sequencial.
Ada, em suas Notas, compreendeu a complexidade e beleza da proposta da máquina de Babbage e, talvez devido a sua natureza imaginativa, foi além do que se conhecia no período. Durante a Revolução Industrial, as máquinas, comumente valendo-se da energia a vapor, eram pensadas para realizar tarefas segmentadas e menores a fim de simplificar o processo a ser mecanizado. Algo que diferia da máquina analítica em seu conceito de propósito geral, que tinha a visão de processar músicas, palavras ou imagens por meio de símbolos, e não ficar restrito a números.
Máquina analítica construída após o falecimento de Charles Babbage. Science Museum Group Collection.
ENIAC: O super computador
Da esquerda para a direita: Desconhecido, J. Presper Eckert, Dr. John Mauchly, Jean Jennings Bartik, Lt. Herman Goldstine, Ruth Lichterman Teitelbaum.
A segunda guerra mundial foi também uma grande disputa tecnológica, seja de armas, tanques e bombas, como do trabalho intelectual que subsidiou e garantiu a eficácia de diversos ataques. Distante dos campos de batalha, o espírito bélico residiu nos cálculos que precisavam desde o lançamento até o exato ponto de colisão de mísseis. Esses estudos de balística dependiam igualmente de um sem número de variáveis, tais como a previsão da trajetória e a pressão atmosférica. Os matemáticos envolvidos, chamados de computadores(as), podiam apurar essa infinidade de dados manualmente e o exército recrutou pessoas com formação para preencher as tabelas balísticas, porém essa prática levava dias ou até mesmo semanas, e houve a necessidade de desenvolver uma máquina que fosse capaz de otimizar o processo.
Diante dessa necessidade o laboratório de pesquisa balística do exército dos Estados Unidos encontrou uma solução através dos engenheiros John Mauchly e John Presper Eckert. A chave se materializou na criação do Electronic Numerical Integrator and Computer (em tradução livre, computador integrador numérico eletrônico) - O ENIAC, que é considerado por muitos como o primeiro computador eletrônico digital de uso geral. Construído na Universidade de Pensilvânia entre 1943 e 1946, a soma de seus módulos pesava 30 toneladas com 17468 válvulas termiônicas. Com seus robustos trinta metros de comprimento e dois metros e meio de altura, o ENIAC conseguia realizar operações como nenhum outro computador e calculava 5 mil somas e subtrações por segundo.
O computador digital funcionava com o conceito de lógica condicional, - esboçado por Ada Lovelace no século XIX -, e operava com base em um sistema decimal de dez dígitos (e não com binários como funcionam os computadores atuais). Talvez a característica mais revolucionária esteja fundamentada na possibilidade de repetição de blocos de código de acordo com a programação enviada, ou seja, era completamente possível criar e reutilizar uma infinidade de sub-rotinas, uma dentro da outra, correspondendo a necessidade ou para tornar o trabalho mais rápido e eficiente.
Em 1946 ocorreu a grande festa de lançamento do ENIAC, com a audaciosa demonstração de trajetória balística ao vivo, provando seu sucesso. A finalização do ENIAC ocorreu em 1947, logo após a segunda guerra. Entretanto o teste maior aconteceu durante as operações relacionadas ao projeto da bomba de Hidrogênio com John von Neumann, que tomou conhecimento do supercomputador e posteriormente concretizou parceria com Mauchly e Eckert. Algum tempo depois o trabalho da equipe rendeu uma série de melhorias projetadas ao ENIAC, como uma primitiva memória, e futuramente foi fundamental para construção de novos computadores com arquiteturas mais modernas.
Mesmo que o ENIAC tenha sido concebido a partir de uma proposta bélica, o computador ainda foi usado no pós-guerra para outros fins, como a realização de cálculos gerais para previsão do tempo, raios cósmicos, dentre outros. Todavia, em 1955 o ENIAC foi desativado pois sua estrutura já estava obsoleta em relação aos computadores da época.
As 6 do ENIAC: Quem foram as primeiras mulheres programadoras?
É inegável que a engenharia e avanço no processo de se pensar a programação foram determinantes à computação moderna. Dessa forma, um elemento primordial e que durante muito tempo permaneceu no esquecimento foram os nomes: Betty Snyder Holberton, Jean Jennings, Frances Bilas, Ruth Lichterman e Marlyn Wescoff. Mulheres matemáticas que serviram ao exército como as primeiras programadoras da história, as computers. O apagamento das matemáticas se deu desde o início, e na festa de lançamento do computador que ajudaram a construir e programar elas não foram convidadas. Apenas em 1997 as programadoras conhecidas como as 6 do ENIAC tiveram o reconhecimento e seus nomes foram registrados na história.
O silenciamento de seus nomes e histórias também cria lacunas na compreensão maior do que o ENIAC representou à história da computação. Kathy Kleiman, no período ainda estudante de Harvard, entendeu essa questão durante a busca de mulheres na área da computação. No aniversário de 40 anos do ENIAC observou que em várias imagens havia pessoas atuando como computadores, porém apenas os nomes dos homens apareciam nas legendas. Por conta disso, partiu em campanha para investigar quem eram as mulheres do ENIAC. Kleiman descobriu então seus nomes e apenas após o aniversário de 50 anos do ENIAC a historiadora entusiasta conseguiu a visibilidade e dar voz às 6 mulheres do ENIAC.
Kathy Kleiman encabeçou um documentário onde as programadoras contam suas trajetórias, e descrevem e o processo de trabalho com o ENIAC, também detalham o desenvolvimento dos fluxogramas utilizados quando ainda nem se imaginava o que era um fluxograma.
Acima da esquerda para direita: Kathy Kleiman, Jean Bartik, Marlyn Meltzer, Kay Antonelli Abaixo: Betty Holberton.
Conclusão
Em algumas ocasiões as ideias parecem estar à frente do equipamento ou técnica oferecida. Muitos achavam, por exemplo, que a máquina analítica de Babbage era uma máquina pensante. Mas Ada sabia que máquinas não podiam pensar. Interessante também perceber que a discussão sobre os usos da tecnologia não é algo tão contemporâneo assim, e podemos enxergar seus traços no século XIX.
Os princípios da computação moderna foram moldados pelos britânicos Babbage com sua máquina analítica e Alan Turing com sua máquina de decodificação de mensagens. No entanto, algo que difere a máquina analítica é que a colossus de Turing não era de propósito geral. A máquina analítica é considerada um marco no desenvolvimento dos computadores modernos porque possuía uma estrutura e conceito. A grande ideia de Babbage consiste no fato de pensar em uma máquina de uso geral, um instrumento que pode ser programado e reprogramado, conceito fundamental e que passou a ser aplicado somente 100 anos depois. Infelizmente a grande invenção de Babbage não foi construída na época por falta de subsídios necessários e se limitou a alguns protótipos.
O ENIAC por sua vez, em sua arquitetura gigantesca incorpora todas as características do computador moderno. Ao aliar velocidade, possibilidade de programação via cabos em seus módulos de uma forma totalmente operacional, o ENIAC podia mudar de trajetória a partir de resultados parciais. Esse comportamento contemplava a definição de propósito geral e por isso foi base para os computadores dos anos de 1950.
Embora possa parecer um grande salto no tempo, o ENIAC se aproxima muito da máquina analítica de Babbage em relação a sua forma de operar. Contudo vários conceitos são aplicados na programação atual devido a sua engenharia, e foi fundamental para consolidar as bases da indústria de computadores.
ENIAC e Kathy nos ensinam uma última lição que se baseia na importância de termos modelos para representar e demonstrar a relevância das mulheres na história, pois certamente mais pessoas se sentirão engajadas e motivadas a ingressarem na área da tecnologia.
Para conhecer mais, veja:
- Os inovadores - Uma biografia da revolução digital - Walter Isaacson
- Mulheres na Tecnologia Hipsters#34
- Eniac Programmers
- The Secret History of The ENIAC Women | Kathy Kleiman | TEDxBeaconStreet
- Momentos históricos das mulheres na tecnologia
- Ícones femininos na história da tecnologia
- Wikipedia Ada Lovelace
- A história do ENIAC - TecMundo
- Grace Hopper Hipsters Ponto Tech #272
- Ada Lovelace: A primeira programadora da história
- As Mulheres do Eniac
- ENIAC
- A história do ENIAC, um dos pais dos computadores
- Mulheres na informática: quais foram as pioneiras?
- Charles Babbage: saiba quem foi o engenheiro "pai do computador"
- Ada Lovelace, a primeira mulher a programar
- Ada Lovelace e os números de Bernoulli (V.2, N.9, P.4, 2019)
- Ada Lovelace: Enchantress of numbers in Women in Computing