Postagem em destaque

Huguinho e Zezinho surfando com granizo

Imagem
Certa vez, em outubro de 2023, Huguinho e seu amigo Zezinho foram surfar no final da tarde. O vento estava forte e a chuva, constante. Quando chegaram perto da praia, mal conseguiam segurar suas pranchas. O mar estava bem mexido, e ainda tiveram que andar cerca de 1 km até o pico. Quando estavam se aproximando, começou a cair granizo! Dava para ouvir claramente o barulho das pedras contra as pranchas. Eles se abrigaram embaixo do posto avançado dos salva-vidas, mas não adiantou muito. Ficaram olhando o mar — que estava bem agitado e quebrando bem longe — e perceberam que estava difícil passar a arrebentação. Como o granizo não parava, decidiram entrar assim mesmo. Logo que entraram no mar, o granizo cessou, mas aí começou o verdadeiro desafio: passar a arrebentação. Depois de levar várias séries na cabeça e quase sem forças, finalmente conseguiram. E começaram os raios! Quando estavam quase decidindo sair por causa deles, os raios pararam. Ufa! É algo estranho: você está lá, só você (c...

Erros, falhas e bugs

Lembro que no início dos nos 1990 eu trabalhava com Clipper, que na época era a linguagem da moda. Era uma linguagem muito boa de se trabalhar - tinha uma curva de aprendizagem muito rápida.

Mas quando a empresa adquiriu uma nova versão, uma rotina do sistema de gestão empresarial, mais precisamente, o módulo de cálculo de preço de venda, começou a apresentar problemas. Ele trazia um resultado totalmente errado mas não abortava o sistema.

Demorou alguns dias até percebermos o erro, pois ele ocorria ao executar uma divisão de duas variáveis, algo como 879 / 68. O resultado é 12,92, mas retornava uma resultado totalmente diferente, como 1,5. E antes que alguém pergunte: não tinha nada a ver com o Pentium FDIV Bug.

A primeira vista pode parecer que não, mas nem todos os erros são iguais. Por exemplo, o erro acima, só ocorria em ocasiões muito especiais, e por isso foi (é) difícil de detectar. Agora imagine se ao invés de 12,92 o resultado errado fosse 12,91. Talvez nunca fosse descoberto.

Outro ponto que diferencia os erros é quando a falha interrompe ou não o programa. Quer um exemplo famoso? Veja esse vídeo, quando Bill Gates se deparou com uma BSOD aka Blue Screen Of Death.
O usuário não gosta nem um pouco disso, mas para o analista/programador que recebe essa informação é mais fácil, na maior parte dos casos, resolver o problema do que aquele que o usuário fala: "Quando eu clico no botão enviar, às vezes dá um erro - mas não consegui pegar a mensagem.".

Conforme falei no post Curiosity e suas 2,5 milhões de linhas de código, existem algumas técnicas de programação que podem ser utilizadas para minimizar os problemas, mas infelizmente não existem programas sem bugs. O jeito é aprender a conviver com eles.

Veja também:
Bug no Zoner AntiVirus?
Qualidade dos softwares e SOs
Artigo 6 - Bug do ano 2000


Comentários

Postagens mais visitadas deste blog

Google Hacking

Netflix não mostra ícone de streaming

Radar no KM 175 da BR101