Opinião. 9 Mai 2013

Quando os bugs tinham pernas

Já todos ouvimos falar de bugs de software. Sempre que algo corre mal e o resultado não é o previsto inicialmente diz-se que há um bug na aplicação.

E a história está cheia de bugs famosos! Por exemplo em 1998 a sonda Mars Climate Orbit despenhou-se porque duas equipas que trabalhavam nos propulsores usaram unidades de medida diferentes: uma trabalhava com unidades de força inglesas e outra usava unidades internacionais. O resultado foi uma sonda que nunca chegou a orbitar o planeta vermelho. Outro exemplo bastante publicitado em 1994 foi o erro nas divisões com vírgula flutuante dos processadores Pentium da Intel. E a lista continua, por vezes apenas com perdas materiais, outra vezes com perdas humanas também a lamentar.

Mas qual a origem do termo bug? Há várias teorias para a origem do nome e várias referências históricas.

A primeira referência data de 1843 quando Ada Lovelace, por vezes considerada a primeira programadora, registou nas suas notas que a Máquina Analítica de Charles Babbage tinha um bug.

Numa carta escrita por Thomas Edison a um associado em 1878 refere que em todas as suas invenções há bugs (que Thomas Edison explica como pequenas contrariedades e falhas) que atrasam os trabalhos às vezes durante meses.

O termo pode ter origem na palavra inglesa "bug" que pode significar problema. A expressão "What's bugging you?" (Qual é o teu problema?) reflete exatamente isso. Mas bug também pode significar inseto e há uma história de um inseto que provocou erros num computador. Foi em 1946 no Laboratório Computacional da Universidade de Harvard que os operadores do sistema Mark II detetaram erros e atribuíram a sua origem a uma traça encontrada num dos relays do sistema. O inseto foi removido e colado no livro de registos com a frase "First actual case of bug being found" (primeiro verdadeiro bug encontrado).

A origem do termo perdeu-se no tempo mas isso não impede que a expressão seja usada diariamente por milhares de programadores, e não só, em todo o mundo.

Eu gosto de pensar que houve uma altura em que os bugs existiram realmente naqueles imensos computadores do tamanho de salas. Bastava um deles roer um cartão perfurado no sítio errado e dias de trabalho e preparação eram perdidos. Acho que nessa altura o debug dos programas era muito diferente do que é hoje e que qualquer software tester que se prezasse teria sempre na sua pasta um inseticida.

Fernando Pina