Ir para o conteúdo principal
BiografiaHistória da informáticaIniciante

Grace Hopper: dos primeiros compiladores ao COBOL

Como Grace Hopper ajudou a transformar a programação ao fazer traduzir instruções mais legíveis para a linguagem das máquinas.

Publicado 3 de agosto de 2026Leitura : 5 minPor Yann Bastien
Retrato histórico de Grace Hopper
Mostrar índice
  1. Aprender a programar antes de a profissão existir
  2. O que a história da traça realmente explica
  3. Porque A-0 automatizava parte da programação
  4. FLOW-MATIC aproxima o código do trabalho empresarial
  5. COBOL é uma realização coletiva
  6. A portabilidade exige mais do que uma linguagem comum
  7. Da conceção das linguagens à normalização
  8. Cronologia
  9. Perguntas frequentes
  10. Grace Hopper inventou o primeiro compilador?
  11. Criou COBOL sozinha?
  12. Inventou a palavra «bug»?
  13. Porque é importante FLOW-MATIC?
  14. Porque continua COBOL presente?
  15. Qual é a ligação entre Grace Hopper e John Backus?

Os primeiros computadores não executavam palavras como READ, ADD ou PAYROLL. Compreendiam códigos numéricos estreitamente ligados ao hardware. Grace Hopper dedicou a carreira a reduzir esta distância entre a intenção humana e as operações da máquina.

O seu contributo não se resume a uma invenção isolada nem à criação solitária de COBOL. Programou um dos primeiros grandes calculadores automáticos, dirigiu trabalhos pioneiros sobre tradução de programas, desenvolveu com a sua equipa uma linguagem para dados comerciais e defendeu a normalização. O fio condutor era claro: um programa deveria exprimir o problema a resolver, e não as particularidades de um computador.

Aprender a programar antes de a profissão existir

Grace Brewster Murray nasceu em 1906 em Nova Iorque. Estudou matemática e física no Vassar College e obteve em 1934 um doutoramento em matemática em Yale. Entrou na reserva da Marinha dos EUA em 1943 e, no ano seguinte, foi colocada na equipa de Howard Aiken em Harvard, responsável pelo Harvard Mark I.

Hopper aprendeu a programá-lo, produziu tabelas para a Marinha e participou no manual. O trabalho obrigou a equipa a formalizar uma atividade ainda nova: decompor problemas, organizar instruções, verificar resultados e reutilizar sequências.

O que a história da traça realmente explica

Em 1947, a equipa do Harvard Mark II encontrou uma traça presa num relé e colou-a no diário do laboratório com uma nota sobre o primeiro «actual bug». Hopper não inventou a palavra bug, já usada no século XIX para falhas técnicas, nem há prova de que tenha retirado pessoalmente o inseto.

Porque A-0 automatizava parte da programação

Em 1949 Hopper entrou na Eckert-Mauchly Computer Corporation, depois Remington Rand, que desenvolvia o UNIVAC I. No início dos anos 1950, a sua equipa criou A-0. O programador identificava subprogramas disponíveis; A-0 encontrava o código, carregava-o e organizava a utilização.

Segundo definições modernas, A-0 assemelha-se também a um loader e linker. É mais rigoroso falar de um dos primeiros sistemas de compilação. O ponto essencial é que mostrou que um programa podia preparar automaticamente outro programa para execução.

FLOW-MATIC aproxima o código do trabalho empresarial

Aplicações comerciais leem ficheiros, comparam registos, calculam totais e imprimem relatórios. Hopper queria que a notação refletisse este vocabulário. A sua equipa desenvolveu FLOW-MATIC em meados dos anos 1950, com instruções próximas do inglês e centradas em fluxos de dados.

A abordagem também favorecia a portabilidade. Se uma instrução exprime uma operação empresarial em vez de uma particularidade do hardware, um compilador pode traduzi-la para vários computadores. Este princípio preparou diretamente as discussões que levariam a COBOL.

COBOL é uma realização coletiva

Em 1959, fabricantes, administrações e utilizadores reuniram-se no CODASYL para definir uma linguagem comum para aplicações de gestão. Hopper participou na primeira reunião e FLOW-MATIC influenciou fortemente o projeto, mas a especificação COBOL foi produzida por comités.

Dizer que Hopper inventou COBOL sozinha apagaria essa cooperação. Foi pioneira, fonte técnica e promotora decisiva, contribuindo depois para adoção e normalização. COBOL permitiu às organizações conservar programas quando o hardware mudava, ajudando a explicar a sua longevidade.

A portabilidade exige mais do que uma linguagem comum

Uma especificação não basta. Fabricantes podem interpretar regras de maneira diferente ou aceitar extensões incompatíveis. Hopper insistiu por isso na validação dos compiladores, com conjuntos de programas destinados a verificar se uma implementação reconhecia as construções previstas e lhes dava o comportamento esperado.

A continuidade do seu trabalho é clara: A-0 automatiza a montagem de subprogramas, FLOW-MATIC aproxima as instruções do vocabulário empresarial, COBOL fornece uma linguagem partilhada e os testes procuram garantir que ela mantém o mesmo significado em máquinas diferentes.

Da conceção das linguagens à normalização

Hopper prosseguiu responsabilidades na Remington Rand e Sperry Rand, publicou e formou programadores. Depois de deixar a reserva em 1966, foi chamada ao serviço ativo em 1967 para trabalhar na compatibilidade e validação de programas COBOL em vários sistemas.

Permaneceu ao serviço até 1986 e reformou-se com o posto de contra-almirante. Nas conferências tornava concretas as escalas informáticas, usando por exemplo fios com o comprimento da distância percorrida pela luz num nanossegundo. Morreu em 1992.

Cronologia

  • 1906: nascimento em Nova Iorque.
  • 1934: doutoramento em matemática em Yale.
  • 1943: entrada na reserva da Marinha dos EUA.
  • 1944: colocação na equipa do Harvard Mark I.
  • 1947: descoberta da traça no Mark II.
  • 1949: entrada na Eckert-Mauchly e trabalho no UNIVAC.
  • 1952: apresentação dos trabalhos sobre A-0.
  • 1955–1959: desenvolvimento de FLOW-MATIC.
  • 1959: primeiras discussões CODASYL.
  • 1960: primeira especificação COBOL.
  • 1967: regresso ao serviço ativo para a normalização de COBOL.
  • 1986: reforma definitiva como contra-almirante.
  • 1992: morte em Arlington, Virgínia.

Perguntas frequentes

Grace Hopper inventou o primeiro compilador?

Dirigiu o desenvolvimento de A-0, muitas vezes apresentado dessa forma. A sua função também corresponde parcialmente ao que hoje chamaríamos loader ou linker; «um dos primeiros sistemas de compilação» é mais rigoroso.

Criou COBOL sozinha?

Não. COBOL foi concebido coletivamente pelos comités CODASYL. As ideias de Hopper e FLOW-MATIC tiveram influência direta e ela desempenhou depois um papel importante na adoção, validação e normalização.

Inventou a palavra «bug»?

Não. A palavra já era usada para defeitos técnicos. A traça encontrada no Mark II gerou um trocadilho memorável, não o termo.

Porque é importante FLOW-MATIC?

Mostrou que uma linguagem empresarial podia usar palavras próximas dos procedimentos reais e continuar a ser traduzível por uma máquina. Influenciou diretamente COBOL.

Porque continua COBOL presente?

Muitas organizações acumularam décadas de regras empresariais testadas em COBOL. Substituir esses sistemas é caro e arriscado, e a portabilidade original permitiu ao código sobreviver a várias gerações de hardware.

Qual é a ligação entre Grace Hopper e John Backus?

Ambos procuraram afastar a programação do código máquina nos anos 1950. Hopper orientou-se para processamento comercial com FLOW-MATIC e COBOL; Backus liderou FORTRAN para cálculo científico.

Este artigo foi útil?

Fontes e referências

  1. 1.Naval History and Heritage Command - Grace Murray Hopper
  2. 2.Smithsonian - Grace Hopper: The Navy and Computers
  3. 3.Computer History Museum - Grace Murray Hopper
  4. 4.Computer History Museum - Oral History of Grace Hopper
  5. 5.Smithsonian - Log Book With Computer Bug

Coleção

Linguagens de programação

1 / 26

  1. 01Grace Hopper: dos primeiros compiladores ao COBOL
  2. 02John Backus: FORTRAN, a notação BNF e a recusa do código de máquina
  3. 03Dennis Ritchie: a linguagem C no coração do Unix
  4. 04FORTRAN: provar que um compilador pode competir com assembly
  5. 05A linguagem C: tornar os sistemas portáteis sem esconder a máquina
  6. 06Niklaus Wirth: de Pascal a Oberon, conceber pela simplicidade
  7. 07Bjarne Stroustrup: conceber C++ sem abdicar do desempenho
  8. 08Pascal: aprender a programar tornando a estrutura visível
  9. 09C++: de C with Classes ao C++ moderno
  10. 10Programação orientada a objetos: objetos, mensagens e abstrações reutilizáveis
  11. 11Guido van Rossum: criar Python para tornar o código legível
  12. 12Brendan Eich: JavaScript, do protótipo da Netscape ao padrão da Web
  13. 13James Gosling: o engenheiro na origem de Java
  14. 14Python: legibilidade, baterias incluídas e um ecossistema global
  15. 15Java: escrever uma vez, executar em qualquer lugar
  16. 16JavaScript: a linguagem que tornou a Web interativa
  17. 17Ken Thompson: de Unix a Go, a simplicidade como método
  18. 18John McCarthy: Lisp e a ideia de programar com símbolos
  19. 19Alan Kay: Smalltalk e o computador como meio pessoal
  20. 20Barbara Liskov: a abstração que tornou o software modular
  21. 21Robin Milner: ML, prova assistida e linguagens da interação
  22. 22Brian Kernighan: AWK, Unix e a arte de explicar código
  23. 23Anders Hejlsberg: de Turbo Pascal a C# e TypeScript
  24. 24Larry Wall: Perl, a linguagem que ligou as ferramentas da Internet
  25. 25Yukihiro Matsumoto: Ruby e a felicidade do programador
  26. 26Rasmus Lerdorf: PHP e a democratização da Web dinâmica
BiografiaHistória da informáticaIniciante

Dennis Ritchie: a linguagem C no coração do Unix

Como Dennis Ritchie concebeu a linguagem C e contribuiu para o Unix, duas bases que tornaram o software de sistema mais portável.

3 de agosto de 20267 min