segunda-feira, 6 de fevereiro de 2012

O bug do ano 2038

A função time, descrita por várias linguagens de programação, faz referência a quantos segundos que passaram desde o dia primeiro de janeiro de 1970.

Essa informação é normalmente armazenada em uma variável do tipo inteiro, que contém 32 bits, e é usada por inúmeros programas em todo o mundo. É um método simples usado para armazenar e contar segundos passados ao longo de um programa, ou para computar tempo de diversas formas.

Acontece que, em 2038, essa variável vai alcançar o valor binário máximo de 32 bits possível de ser armazenado em segundos, desde 1970.

É possível, portanto, que algum tipo de bug do milênio venha a acontecer em 2038... ou antes até, para programas que calculam tempo futuro. Se um programa por exemplo calcular o tempo de hoje até 2040 usando essa função, ele provavelmente vai dar algum tipo de bug.

É claro que houve muito alarmismo sobre o bug do milênio ao longo do ano 2000 e que ele não causou problemas muito severos, com algumas exceções notórias (http://en.wikipedia.org/wiki/Millenium_bug#Documented_errors).

Os programadores, entretanto, devem estar atentos a eventuais problemas que possam decorrer da utilização da função time em um futuro próximo.

Mais sobre o problema em:
Year 2038 problem - Wikipedia, the free encyclopedia:

'via Blog this'

quarta-feira, 1 de fevereiro de 2012