Search

The Y2K+38 Crisis

0 views

In 2038 we’ll likely be weaving tales for our grandkids about how we used to instant message with paper notes instead of our brainwaves and how, when we were really little, stereos were once considered nice furniture pieces. They may be especially interested because, if Richard Wilcox is right, all the really important computers just dialed back to 1901.
The Y2K+38 Crisiscached copy.

Impending crises need at least a 30 year run-up—we knew there’d be an energy crisis for at least that long, right?—and it’s not too early to sound the alarms on this one. It may sound unlikely, we’re already Moore’s Law generations past 32-bit systems; just think what we’ll be running three decades. 

I generally preferred words to math and programming, so talk of “signed integers” and “time_t” is lost on me, but I did gather from Wilcox’s post that at eight seconds past 3:14 a.m., on January 19, 2038, most computers in the world will think it’s actually a quarter to 9 p.m. on December 13, 1901.

That’s a big, big problem, and apparently a more complicated one than what we faced in 2000.

“So, if all goes normally,” writes Wilcox, “19-January-2038 will suddenly become 13-December-1901 in every time_t across the globe, and every date calculation based on this figure will go haywire.  And it gets worse.  Most of the support functions that use the time_t data type cannot handle negative time_t values at all.  They simply fail and return an error code.  Now, most ‘good’ C and C++ programmers know that they are supposed to write their programs in such a way that each function call is checked for an error return, so that the program will still behave nicely even when things don’t go as planned.  But all too often, the simple, basic, everyday functions they call will ‘almost never’ return an error code, so an error condition simply isn’t checked for.”    
The Y2K+38 Crisis

Suggest a Correction

Found an error or have a suggestion? Let us know and we'll review it.

Share this article

Comments (0)

Please sign in to leave a comment.

No comments yet. Be the first to comment!