Neste Mês da História das Mulheres analisamos como as inovações das mulheres impulsionaram o desenvolvimento da programação informática.
Muito antes de os programadores de software se sentarem diante dos teclados em amplos e elegantes escritórios de tecnologia, as mulheres lançaram as bases da programação informática moderna, em condições bem menos glamorosas.
Durante grande parte da sua história inicial, a programação era considerada um trabalho repetitivo e enfadonho. De acordo com o Smithsonian American Women’s History Museum, muitos historiadores demonstraram que foram mulheres a realizar grande parte desse trabalho.
À medida que o Mês da História das Mulheres chega ao fim, recordam‑se as inovações feitas por mulheres que moldaram a informática, desde a escrita do primeiro programa de computador até ao desenvolvimento do software que levou astronautas norte‑americanos à Lua.
Primeiro programa de computador
Ao traduzir um artigo escrito pelo matemático Luigi Menabrea sobre o Analytical Engine, geralmente considerado o primeiro computador, a matemática britânica Ada Lovelace deu por si a corrigir as notas dele. E a escrever o primeiro programa de computador.
Filha do poeta Lord Byron, Lovelace revelou desde a infância uma forte aptidão para a matemática. O seu talento levou‑a a uma estreita colaboração profissional com o matemático e inventor Charles Babbage, em particular no trabalho sobre o seu Analytical Engine.
Ao traduzir o artigo de Menabrea em 1843, Lovelace acrescentou extensas notas de rodapé que constituíram a sua contribuição decisiva para a informática. Nelas, foi a primeira a sugerir que uma máquina podia não só manipular números e produzir um resultado matemático, como também operar sobre símbolos.
O Analytical Engine "poderia agir sobre outras coisas para além de números, se fossem encontrados objetos cujas relações fundamentais mútuas pudessem ser expressas pelas da ciência abstrata das operações, e que fossem também suscetíveis de adaptações à ação da notação operativa e do mecanismo da máquina", escreveu numa das suas notas de tradutora (fonte em inglês).
Lovelace sugeriu ainda que os números podiam servir para representar mais do que quantidades e mostrou o alcance que o papel de uma máquina podia ter para lá do cálculo. Nas notas, esboçou a possível tradução de "sons" e de "composição musical" em operações que uma máquina poderia usar para "compor peças de música elaboradas e científicas, com qualquer grau de complexidade ou extensão".
Os cálculos e comentários da matemática quase triplicaram o tamanho do artigo original e constituíram o primeiro conjunto de instruções para computadores. As notas de Lovelace viriam mais tarde a informar o trabalho do matemático e lógico britânico Alan Turing na descodificação de códigos durante a Segunda Guerra Mundial.
Compilador e comunicação com as máquinas
Durante anos, os programas de computador foram escritos laboriosamente como longas sequências de números, para que os computadores os pudessem entender.
Depois, em 1952, a cientista informática e antiga oficial da Marinha dos Estados Unidos Grace Hopper criou o compilador, um programa que converte código escrito numa linguagem de programação de alto nível (Java e Python são alguns exemplos modernos) em linguagens de baixo nível que um computador consegue compreender (como o código binário).
Esse compilador, chamado A‑0, traduzia código matemático simbólico em código legível pela máquina e foi decisivo para o desenvolvimento das linguagens de programação modernas.
O compilador de Hopper resultou de anos de esforço para simplificar a programação de computadores.
Enquanto trabalhava no Mark I, a primeira calculadora automática de grande escala, durante a Segunda Guerra Mundial, Hopper apercebeu‑se de que alguns cálculos eram usados repetidamente na mesma operação e criou um pequeno arquivo de trechos de código usados com frequência.
Dessa ideia nasceu o conceito moderno de sub‑rotinas, pequenas secções de código escritas dentro de um programa maior, que executam tarefas que podem ter de ser repetidas várias vezes no programa principal. As sub‑rotinas poupam tempo, porque o código já foi escrito e testado.
O compilador A‑0 de Hopper, desenvolvido vários anos depois da guerra, permitia aos utilizadores escrever o esqueleto de um programa numa linguagem simplificada. Hopper vinha a alargar constantemente o seu arquivo de sub‑rotinas, que colocou numa fita à qual atribuiu números de chamada. Quando um utilizador definia o programa de que precisava, o compilador localizava automaticamente na fita as sub‑rotinas necessárias e organizava‑as.
Hopper viria depois a ajudar a desenvolver uma das primeiras linguagens de programação de alto nível baseadas em inglês: o COBOL (Common Business‑oriented Language). Ajudou a conceber e a desenvolver compiladores para essa linguagem.
Com o A‑0 e o COBOL, Hopper tornou mais fácil falar com as máquinas.
Aperfeiçoar o GPS moderno
O trabalho da matemática norte‑americana Gladys West está na origem da precisão do atual Sistema de Posicionamento Global (GPS), uma tecnologia hoje quase omnipresente, usada por turistas, taxistas e pilotos.
Ao entrar para o Campo de Provas Navais dos Estados Unidos, em 1956, tornando‑se na segunda mulher afro‑americana a fazê‑lo, West passou a liderar um grupo de analistas que utilizava dados dos sensores dos satélites para calcular a forma e o tamanho da Terra e as órbitas à sua volta.
Esses cálculos são a base das trajetórias de voo traçadas hoje pelos satélites de GPS.
O trabalho de West permaneceu praticamente desconhecido até 2018, quando recebeu o prémio Space and Missiles Pioneers, da Força Aérea dos Estados Unidos. Em 2021, tornou‑se a primeira mulher a receber a Medalha Príncipe Filipe, atribuída pela Real Academia de Engenharia do Reino Unido.
Desenvolvimento de software para chegar à Lua
Numa instalação nos arredores de Boston, nos Estados Unidos, tecelãs armazenavam as instruções de software para as missões Apollo num longo "cordão" de fios.
A cientista informática e programadora norte‑americana Margaret Hamilton liderou o desenvolvimento e a produção de software das missões Apollo dos Estados Unidos, e o seu trabalho foi essencial para as seis missões à Lua entre 1969 e 1972.
Sob a sua liderança, a equipa encontrou uma forma engenhosa de armazenar os programas dos computadores de navegação da Apollo: teciam‑nos num cordão de cobre.
Os computadores armazenam informação em código binário, uma sequência de uns e zeros. A memória dos computadores modernos guarda normalmente essa informação em pequenos chips de silício. Na altura das missões, essa informação era guardada magnetizando núcleos em forma de rosca.
Um fio passava pelo orifício para representar um um binário ou contornava o núcleo, evitando o centro, para representar um zero. Esta tecnologia ficou conhecida como memória core‑rope.
Durante as missões Apollo, depois de um programa de computador ter sido escrito, traduzido em código e perfurado em cartões de papel, os chamados punch cards, o código era enviado para uma instalação onde mulheres, muitas delas antigas operárias de fábricas têxteis, teciam os fios de cobre e os núcleos num longo cordão para armazenar grandes quantidades de código.
Para além desta solução engenhosa de armazenamento, o principal foco de Hamilton era conceber software capaz de detetar erros de sistema e recuperar o programa em caso de avaria do computador, algo que se revelou crucial na missão Apollo 11, que conseguiu aterrar na Lua com sucesso.
"A própria experiência do software (concebê‑lo, desenvolvê‑lo, fazê‑lo evoluir, vê‑lo em ação e aprender com ele para sistemas futuros) foi pelo menos tão emocionante como os acontecimentos em torno da missão", disse Hamilton ao MIT News (fonte em inglês) em 2009, recordando a sua experiência nas missões Apollo.
"Olhando para trás, éramos as pessoas mais sortudas do mundo; não havia alternativa senão sermos pioneiros; não havia tempo para sermos principiantes."