Todo mundo já viu um aplicativo travar. Você fecha, abre de novo e segue a vida. Mas algumas falhas de programação não terminam assim. Elas derrubaram foguetes, pararam bancos, cancelaram voos e, em casos extremos, mataram pessoas.
Esses episódios ganharam nome próprio: são os bugs históricos de software. E entender por que eles importam ajuda a compreender como a tecnologia que usamos hoje ficou (um pouco) mais segura.
O que é um bug, afinal?
Bug é um erro no código de um programa. O software faz exatamente o que foi escrito, só que o que foi escrito não era o que o programador queria dizer. O computador não erra: ele obedece.
A palavra virou lenda por causa de uma mariposa presa em um computador da Universidade de Harvard, em 1947, registrada em um caderno de anotações da equipe de Grace Hopper. O termo “bug” para falhas técnicas, porém, já era usado bem antes, inclusive por Thomas Edison.
Cinco desastres que mudaram as regras
Alguns casos entraram para os livros de engenharia justamente porque forçaram mudanças profundas:
Mariner 1 1962: a sonda da NASA foi destruída pouco após o lançamento. A causa apontada foi um erro em uma fórmula transcrita para o código, algo como um símbolo faltando.
Therac-25: uma máquina de radioterapia aplicou doses muito acima do previsto em pacientes. Houve mortes. O problema envolvia uma condição rara no software, que só aparecia quando o operador digitava comandos muito rápido.
