domingo, 24 de janeiro de 2016

O mito do bug do ano 2100

Depois do bug do ano 2000, quando a predição do fim do mundo não se confirmou, outro mito surgiu, embora este evento ainda esteja bem longe de acontecer… Nós estamos falando do bug do ano 2100. Agora, o negócio é calar todos os comentários do tipo "Estaremos todos mortos de qualquer maneira", "Vamos todos morrer antes, por causa da poluição" e o famoso "Mas o que é que nós temos com isso?" Em primeiro lugar, eu respondo: "Você está certo." E, de qualquer maneira, este "bug" não vai explodir o Planeta, nem mesmo matar uma mosca (bug). Bom, agora é hora de apertar o cinto e falar de três coisas muito sérias: matemáticas, softwares e dos desenvolvedores que os conceberam, bugados, com patches ainda mais bugados, e assim por diante, em uma espiral sem fim. Mas, vamos ao que interessa, chega de falar por meias palavras e honrar a minha palavra e a do Juiz. 



Mito

Haverá um bug no ano de 2100, semelhante ao que deveria ter acontecido no ano de 2000.

Realidade

VERDADE! Mas, você deverá ler este artigo antes de saltar da ponte e/ou correr para o cartório para registrar o seu testamento. Até agora não temos nenhuma razão para nos preocuparmos.

Explicação

O mito em questão diz respeito ao bug do ano de 2000, nosso querido calendário gregoriano e seus famosos anos bissextos a cada quatro anos… enfim, quase bissextos a cada 4 anos, e estequase é muito importante, pois o mito se baseia nele. 

Alguns conceitos de matemática

Para entender esse mito, é preciso que os usuários que lerão este artigo tenham alguma noção de matemática colegial. O tipo de matemática que não vemos todos os dias. Não se preocupe, é muito simples. 
Você sabe o que o módulo? O módulo é um operador matemático designado pela característica “porcento” ("%") e que significa "o resto inteiro de uma divisão". Por exemplo, se eu tenho uma bolsa com 13 maçãs e 6 caixas de almoço para preencher, para não transformar a minha família em pessoas obesas, eu dou para cada um, no máximo, 2 maçãs. Portanto 13 ÷ 2 = número com vírgula, com um valor de 6 e pouco. Mas, eu não quero cortar a minha décima terceira maçã em seis, porque o máximo permitido é 2. Então, se eu colocar 2 maçãs em cada uma, ficará assim: 2x6 = 12. Sobra uma maçã, ou seja, 13% 2 = 1. Nada mais simples. 

Explicações

O mito surgiu por causa da existência do ano bissexto, por isso, vejamos como se define um ano bissexto. O ano bissexto se repete a cada quatro anos, ao qual adiciona-se o dia 29 de Fevereiro:Falso. O que poucas pessoas sabem é que o ano bissexto não se repete a cada 100 anos. E, para complicar ainda mais, saibam que ele ocorre a cada 400 anos, apesar da condição precedente. O ano de 2000 se divide por 4, por 100, mas também por 400, por isso ele é bissexto: ele respeita a última condição. 

Onde está o problema

Se você leu a seção de matemática desta dica, você deve ter notado que, mais uma vez, falei de divisão na última seção. O que nos leva a perguntar: como saber se um ano é um ano bissexto ou não? Para ser um ano bissexto, o número do ano deve ser um múltiplo de 4, mas não de 100, ou então, um múltiplo de 400. 

Portanto: 
2000 % 4 = 0 
2,000 % 100 = 0 
2,000 % 400 = 0 
Então, 2000 é um ano bissexto. 

Vamos fazer o mesmo com o ano de 2016 
2016 % 4 = 0 
2016 % 100 = 16 
2016 % 400 = 16 
Então, 2016 é bissexto. 

Agora, para 2100 
2100 % 4 = 0 
2100 % 100 = 0 
2100 % 400 = 100 > ERRO 
2100 não é um ano bissexto. 

O problema aqui é que muitos programadores de software preguiçosos terão programado os seus aplicativos supondo que um ano bissexto é, obrigatoriamente, um ano que é múltiplo de 4. Assim, coitados dos softwares que estiveram em suas mão e que terão um dia 29 de fevereiro de 2100: ERRO. A verdade é que não haverá um dia 29 de fevereiro em 2100 e fim da história! Como podemos ver, mais uma vez a preguiça humana levou a melhor sobre esse mito.

via ccm
Anterior
Proxima

Postador

0 comentários:

Os comentários serão moderados antes de publicar! respondo todos, obrigado por comentar.