Computer industry experts predict dire consequences at the beginning of the Year 2000–the year many computer programs are expected to lose their ability to manipulate and calculate dates properly, fatally confused by the change of century. Projections of the problem’s impact on business, including a recent cover story in Newsweek magazine, range from the grim to the cataclysmic. The only pleasant prospect is for computer programmers, many of whom may need to be hired for emergency software repairs.
However, the million scientists, engineers, educators, and students who use Wolfram Research’s Mathematica, the leading technical computing system, have nothing to fear as January 1, 2000, approaches.
“We have thought a little further ahead,” said Wolfram Research President/CEO Stephen Wolfram, who earned a doctorate in theoretical physics from Caltech at age 20. “Mathematica stores dates and performs calendrical calculations using an arbitrary-precision mixed-radix representation that avoids the Year 2000 problem completely. We don’t anticipate any problems with our calendar algorithms until a considerable time after the sun has burned itself out.”
“For example,” Wolfram explained, “according to Mathematica, the year two billion A.D. begins on a Saturday, barring any intervening modification to the calendar. There is also a more general result, which says that any year A.D. which is a multiple of 2000 also begins on a Saturday. That will always allow an extra working weekend for programmers who don’t use our product.”
The Year 2000 question is only the most visible example of a larger problem concerning how computers treat numbers. Nearly all software that handles numbers makes certain assumptions about each number’s size. This means that date calculations are not the only ones subject to potential “numerical overflow.”
Imagine a business, for example, wanting to make a half-million-dollar sale to Russia. At current exchange rates, the number of rubles in a half-million dollars is very close to overflowing the range of the 32-bit signed integer, a very common data size.
Mathematica, however, is not bound by the limitations of fixed-size integer representation. The same precise number-handling capability used by the calendar routines also allows it to multiply numbers with hundreds of digits without the danger of numerical overflow.