O que é um “bug de computador” e de onde veio o termo?

Ilustração de um bug de computador (como um rasgo no código binário)
Benj Edwards

Você provavelmente já ouviu isso antes: há um “bug” no software, fazendo com que algo funcione incorretamente ou se comporte incorretamente. O que exatamente é um bug de computador e de onde veio o termo? Vamos explicar.

Um bug é um erro não intencional em software de computador

Um “bug de computador” ou “bug de software” é um termo para um erro de programação não intencional ou defeito no software ou hardware do computador. Bugs surgem de erro humano em projetos de hardware ou em algum lugar na cadeia de ferramentas de software usadas para criar aplicativos de computador, firmware ou sistemas operacionais.

Um bug de software surge quando um programador comete um erro ao escrever o software ou escreve um código que funciona, mas tem consequências não intencionais que não foram previstas pelo programador. A remoção de bugs do software é chamada de “depuração”.

Um programador programando um bug.
Um bug de software em formação. Africa Studio / Shutterstock

No mundo atual, orientado por software, os bugs são um negócio sério. Quase 20 anos atrás, o Instituto Nacional de Padrões e Tecnologia estimou que os bugs de software custam à economia dos EUA quase US $ 60 bilhões anualmente (cerca de 0,6% do PIB em 2002) – um número que provavelmente aumentou desde então. Embora seja difícil quantificar com precisão os efeitos negativos dos bugs, é fácil imaginar como o software com defeito pode afetar a produtividade. Pode até mesmo colocar vidas em risco no domínio dos transportes ou colocar em risco  infraestruturas vitais, como usinas de energia.

Recomendado:  O que é um carregador sem fio “certificado pela Qi”?

Por que os chamamos de bugs?

O termo “bug” é anterior à invenção dos computadores, e não sabemos realmente quem cunhou o termo “bug” para se referir a um defeito de engenharia. Em registros escritos, os historiadores remontam a Thomas Edison na década de 1870, no mínimo.

Thomas Edison com seu fonógrafo ca.  1878
Thomas Edison com seu fonógrafo (ca. 1878). Biblioteca do Congresso

Edison usou o termo em suas notas pessoais e correspondência para significar um problema difícil que precisava ser resolvido ou um defeito de engenharia que precisava ser consertado. Ele até brincou sobre o termo estar relacionado a insetos, escrevendo em uma carta de 1878 :

“Você estava parcialmente correto, eu encontrei um ‘bug’ no meu aparelho, mas não estava no telefone propriamente dito. Era do gênero ‘callbellum’. O inseto parece encontrar condições para sua existência em todos os aparelhos de chamada dos Telefones ”.

Embora alguns considerem os exemplos de Edison que ele cunhou o termo “bug”, é possível que tenha se originado de outra pessoa antes e que ele simplesmente popularizou o termo entre seus amigos e associados engenheiros. O Oxford English Dictionary cita um exemplo de 1889 relacionado a Edison que descreve um bug como uma metáfora para um inseto rastejando em um equipamento e fazendo-o funcionar mal, sugerindo que um bug real fazendo exatamente isso pode ter originalmente inspirado o termo, semelhante ao termo ” mosca na sopa “.

Ada Lovelace em um daguerreótipo de 1843.
Ada Lovelace em um daguerreótipo de 1843.

Deixando a palavra “bug” de lado por um momento, a primeira pessoa conhecida na história a perceber que um software pode funcionar mal devido a erros de programação foi Ada Lovelace. Ela escreveu sobre o problema em 1843, em seu comentário sobre a Máquina Analítica de Charles Babbage .

“A isso pode ser respondido que um processo de análise deve igualmente ter sido executado a fim de fornecer à máquina analítica os dados operacionais necessários ; e isso também pode ser uma possível fonte de erro. Dado que o mecanismo real é infalível em seus processos, os cartões podem dar ordens erradas. ”

Nesta citação, Lovelace se refere ao mecanismo de cálculo real sendo livre de erros na forma como processa os dados, mas estipula que os dados alimentados por humanos (conforme programado nos cartões na época) poderiam dar à máquina as instruções erradas e assim, produz os resultados errados.

Recomendado:  Como criar um teste no Google Classroom

E a mariposa de Grace Hopper?

Durante décadas, livros, revistas e sites relataram erroneamente que o termo “bug” foi cunhado pela lendária cientista da computação Grace Hopper quando uma mariposa voou para os relés do computador Harvard Mark II e causou seu mau funcionamento. Conforme a história continua, ela então colou a mariposa em um diário de bordo e escreveu uma nota histórica: “Primeiro caso real de bug sendo encontrado.”

A famosa mariposa Mark IV gravada em um livro de registro de 1947.
A famosa mariposa Mark IV gravada em um livro de registro de 1947. Smithsonian

Embora uma mariposa realmente tenha voado para dentro do Mark II em 1947, não foi a inspiração para os termos “bug” ou “depuração”, ambos anteriores ao incidente. Além disso, não está totalmente claro se a mariposa realmente causou o mau funcionamento do computador, apenas que foi uma descoberta divertida enquanto eles consertavam outros defeitos. Hopper tornou a história famosa contando-a em uma entrevista amplamente citada em novembro de 1968 :

“Quando estávamos a depuração Mark II, que w como o excesso em outro prédio, e as janelas não tinha tela s sobre eles e nós estávamos a trabalhar nele em noite, é claro, e todo o bug s no wo rld cam e no. E, uma noite ela apagou, e nós fomos procurar o inseto e encontramos uma mariposa grande , com cerca de dez centímetros de envergadura, em um dos relés batidos até a morte , e nós o retiramos e colocamos o livro de registro e fita adesiva colada sobre ele, e até onde eu sei , ainda está no livro de registro histórico em Harvard (encontramos um bug real no comcomputador). ”

Hopper achou a história divertida porque, depois de frequentemente caçar bugs no computador (como em defeitos de hardware e software), sua equipe finalmente encontrou um inseto real e literal dentro do computador. Daí a inscrição, “Primeiro caso real de bug sendo encontrado.”

Recomendado:  Como enviar mensagens de texto SMS de um iPad

(Como um aparte interessante, Hopper descreve a mariposa Mark IV como “espancada até a morte”, provavelmente por causa do dano de ser pega pelo movimento dos relés eletromecânicos do computador , o que sugere que o computador continuou a funcionar enquanto a mariposa estava lá. )

Retransmissões de computador dos anos 1940 de um manual de instruções da IBM.
Relés de computador semelhantes a esses (vistos em um manual da IBM) mataram a pobre mariposa Mark II. IBM

Os historiadores não sabem se foi o diário de bordo de Hopper ou quem realmente escreveu a entrada, mas hoje, o diário de bordo de Harvard Mark II reside no Museu Nacional de História Americana no Smithsonian em Washington, DC

Embora a mariposa Mark II (vamos chamá-lo de “Mark”) não foi o primeiro bug de computador, ainda assim persiste como um símbolo físico e cultural de um problema muito real e difícil com o qual todos os programadores lutam, e é algo que todos nós vamos lidar nos próximos anos. Agora me passe o repelente de insetos, sim?