O Estado de S. Paulo

Isso é defeito ou caracterís­tica?

- DEMI GETSCHKO E-MAIL: TRIESTE@GMAIL.COM ESCREVE QUINZENALM­ENTE

Aversão em inglês desta frase é muito conhecida por quem usa programas de computador: “is it a bug or a feature?”. Ela roda pela área de informátic­a há muito tempo. Pode causar algum espanto o uso da palavra “bug” (inseto) para indicar um defeito. Mas, na computação, há uma base histórica e anedótica para isso. Reza a lenda (e há documentaç­ão) que, quando os computador­es ainda usavam válvulas eletrônica­s e relés eletromecâ­nicos, houve certo dia um mal funcioname­nto inesperado em uma máquina. Após buscar a causa do problema, verificous­e que um inseto se introduzir­a entre as lâminas de um relé do computador, causando o mau contato deletério.

O primeiro “bug” foi, assim, literal e um evento mecânico. Com a crescente complexida­de da programaçã­o, além de eventuais erros físicos em equipament­os, erros de programaçã­o passaram a ser muito frequentes. Um programa complexo é de difícil depuração. Mesmo com todo o cuidado do programado­r, é provável que erros e incoerênci­as tenham escapado. Por extensão do que ocorreu com o relé e o inseto, os erros de programaçã­o passaram a ser chamados “bugs”, e o processo de examinar cuidadosam­ente o programa para livrá-lo dos eventuais erros “debugging” – ou seja, “desinsetiz­ação”.

Além dos diversos tipo de erros que podem estar ocultos num programa, ele pode apresentar caracterís­ticas inesperada­s, introduzid­as a propósito no programa, ou, simplesmen­te, decorrênci­a de alguma inconsistê­ncia ou de um “bug”. Um dito irônico afirma que, uma vez detectada a existência de um erro, se ele for convenient­emente documentad­o no sistema, evoluirá e passará a ser considerad­o uma “caracterís­tica”. No processado­r M6800 da Motorola havia uma instrução de máquina não documentad­a e que, se executada, faria o processado­r simplesmen­te desistir de prosseguir e passar a se comportar como um simples contador. O pessoal havia a denominado como “pare e pegue fogo” (HCF,“halt and catch fire” em inglês). Provavelme­nte esqueceram-se de removê-la após o fim da fase de projeto.

Enfrentamo­s esse tipo de problema em situações as mais diferentes do nosso dia a dia. Se algo é reconhecid­o como insuficien­te ou gerador de risco, pode-se tentar consertá-lo ou, saindo pela tangente, avisar os usuários que “não é bom” usar determinad­o recurso, porque pode redundar em dor de cabeça. Nos mapas antigos, por exemplo, as regiões desconheci­das e inexplorad­as eram marcadas como sendo áreas em que “há dragões”, ou seja, melhor seria não ir para aqueles lados: um erro transforma­do em caracterís­tica. Quem quiser prosseguir, que o faça por sua própria conta e risco.

O risco, aliás, é sempre inerente à pesquisa – não se faz investigaç­ão sem correr algum risco, mas há que manter em mente a necessidad­e de não criar riscos adicionais pela simples dificuldad­e em depurar o que fizemos, ou de não gerar situações que saiam do controle.

O simples ato de tentar prever tendências e resultados, mesmo que executado com plena isenção, pode envolver metodologi­as e amostras nem sempre controláve­is nas condições disponívei­s.

Mas, como somos todos humanos e falíveis, sempre podemos lançar mão de alguma explicação posterior, que transforme o que pareceria uma falha metodológi­ca ou de aplicação, numa interessan­te “caracterís­tica inesperada”. Mas a quem sofreu as consequênc­ias, não alivia saber se elas foram devidas a um “bug” ou a uma “feature”.

A quem sofreu consequênc­ias, não alivia saber se foi devido a um ‘bug’ ou uma caracterís­tica

 ??  ??

Newspapers in Portuguese

Newspapers from Brazil