December 17, 2012

February 29, 1900

Filed under: Main — admin @ 12:01 am

Don’t bother looking it up. Nothing significant happened on February 29, 1900. No one was born, no one died. While that may seem extraordinary, it’s true because there was no February 29, 1900. That is, unless you use Microsoft Excel.

February 29 is a legitimate date. It’s leap day! It happens once every four years, coinciding with a Presidential election year here in the US.

But 1900 was a Presidential election year!

Yes, it was. A belated congratulations to President McKinley who, unfortunately, died in office just over a year later. That had nothing to do with February 29th, however, which didn’t happen in 1900.

Leap years don’t occur in years divisible by 100 but not divisible by 400. So the year 2000 was a leap year, but not the year 1900.

My point is not to bewilder you, but to state again that there wasn’t a February 29, 1900. It doesn’t exist anywhere but in Microsoft Excel, where you can perform time calculations based on that date.

That begs the question of how Microsoft would bother to let such an obvious error slip? After all, wouldn’t you want to accurately calculate the interest you’d have to pay on a new buggy loan you took out in 1887?

Sure you would!

The problem isn’t with Excel. In fact, Microsoft knew darn well that February 29, 1900 wasn’t a legitimate date when they first coded Excel. No, the problem was with Excel’s direct and quite popular ancestor, a program called Lotus 1-2-3.

Lotus 1-2-3 was effectively the first “killer app” for the PC. It took over from the original spreadsheet program, VisiCalc, which was popular way back in the early steam-powered days of personal computing. But VisiCalc isn’t to blame.

It turns out that February 29, 1900 was coded as a legitimate date in 1-2-3. I don’t know how that oversight managed to make it into the program, and I certainly don’t want to know how the math works. Once the error was discovered, it couldn’t be fixed: Too many existing spreadsheets depended on it. So in the fine tradition of legacy computer programming, the error remained.

When Excel was introduced, itself an offspring of Microsoft’s original spreadsheet, Multiplan, they incorporated the February 29, 1900 date error. After all, Microsoft wanted to maintain 1-2-3 compatibility and didn’t want to risk screwing up date/time calculations in existing spreadsheets, especially on buggy loans. Therefore the problem persists, even to this day.

And it will probably persist forever, given that “maintaining compatibility” is one of the cornerstones of computer software ideology. So, real or not, February 29, 1900 never happened but it will probably be with us for all eternity — or until the Robot Apocalypse. But even then, the robots will probably be programmed with Excel, so the date most likely will never go away.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.


Powered by WordPress