Afinal de contas, o que é um BUG?

domingo, 13 de setembro de 2009 visualizações: 3.597

O termo bug já é utilizado no ramo da informática há muitos anos para referenciar os problemas que ocorrem nos computadores, sejam físicos ou lógicos. Comumente é citado, mas muitas das pessoas que o utilizam acabam não conhecendo o real significado da palavra ou o que realmente representa.

A tradução literal do termo bug é “inseto”, e supõe-se que surgiu pela primeira vez durante as experiências de Thomas Edison e seu fonógrafo, no século 19, quando um “bicho” causou mau funcionamento no aparelho. Já a disseminação do termo é atribuída ao surgimento e manuseio dos primeiros computadores no século passado, os quais funcionavam com válvulas, e, portanto, acabavam atraindo muitos insetos.

Afinal, que falhas seriam essas que ocorrem com tanta freqüência no meio tecnológico? Geralmente, o bug acontece porque os desenvolvedores de um software não previram uma determinada situação que o mesmo poderia vir a enfrentar, ocasionando assim uma falha na tomada de decisões do programa.

O computador não é tão inteligente como muitos pensam

Na realidade, o computador é um completo ignorante. Sério! Ele apenas faz aquilo que os programadores indicam, ou seja, somente segue passos pré-estabelecidos em seu código. A verdadeira inteligência artificial ainda está muito longe de ser concretizada (arrisco-me a dizer que talvez nunca possa ser realmente implementada).

Mas então o leitor pode pensar: “Puxa, mas e esse programa que utilizo? Ele faz tudo para mim. O que solicito, é realizado, inclusive encontra as melhores formas para que eu possa concluir meu trabalho”. Pois bem, nada mais é do que o árduo trabalho de uma equipe de programadores, que previamente pensaram em (quase) todas as possíveis tomadas de decisões lógicas que o software deveria seguir. Aliás, a lógica é a única forma de indicar a um software como ele deve proceder.

Se porventura um determinado passo não é implementado, nosso computador simplesmente não sabe o que fazer. Com isso, surge um dos bugs mais famosos, o congelamento (a popular “trancada”).

Congelamentos: quem já não presenciou algum?

Existem diversos tipos de bugs, tais como falhas de segurança, comportamentos inesperados de softwares, problemas de compatibilidade, etc. Mas, com toda certeza, o congelamento de um software é o bug mais presenciado no dia a dia de um usuário. Veja o exemplo simbólico abaixo:

logica
Exemplo de uma decisão lógica

Uma pessoa, ao se deparar com uma cadeira enquanto estivesse andando, saberia qual decisão tomar para continuar adiante: poderia retirar o objeto que está em seu caminho, ou contorná-lo por ambos os lados. Agora, visualizando o exemplo de forma computacional, supomos que os programadores não previram que uma cadeira poderia ser colocada no meio do caminho. Com isso, não desenvolveram um código para que o programa pudesse tomar as decisões que nós facilmente optaríamos. Resultado? Ele ficaria caminhando em frente à cadeira, sem saber como proceder (consumindo processamento). Isso ocorre porque não foi lhe informado que teria forças suficientes para remover o objeto, e muito menos que poderia contorná-lo. Em termos digitais, o programa estaria congelado, em um beco sem saída. Só restaria ao usuário encerrar o processo, fazendo uso do Ctrl+Alt+Del.

Patchs de atualização

Quando os desenvolvedores de um determinado software são informados sobre uma falha detectada, implementam então os chamados “patchs” (traduz-se literalmente como “remendos”). Basicamente, um patch consiste em uma atualização do programa, a qual traz os comandos lógicos necessários para fazer com que o software entenda um obstáculo constatado.

Pegando o exemplo mencionado anteriormente, caso o software originalmente não possuía conhecimento de que uma cadeira poderia estar no caminho (no caso, a cadeira simboliza peculiaridades que gerariam um possível conflito com o sistema), deveria receber um patch de atualização, o qual o informaria que, caso um objeto fosse encontrado, o mesmo teria de ser empurrado ou contornado (em termos computacionais, o software trataria dos conflitos em questão, tais como incompatibilidades, recursos não suportados, etc).

Espero que a abordagem tenha sido clara suficientemente. Quaisquer dúvidas, não deixem de perguntar.

Roberto Tadeu Fauri

Veja também:

Tags: , , , , ,

2 resposta para “Afinal de contas, o que é um BUG?”

  1. domelhor.net disse:

    Afinal de contas, o que um BUG?…

    No se restringindo apenas origem e significado do termo, o artigo tambm demonstra com exemplos compreensveis o que a palavra bug representa no mundo da informtica….

  2. Afinal de contas, o que é um BUG?…

    Não se restringindo apenas à origem e significado do termo, o artigo também demonstra com exemplos compreensíveis o que a palavra bug representa no mundo da informática….

Deixe seu comentário