11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

YY2K problemSherlock Holmes once referred to a dog barking in thenight. Watson, puzzled as usual, replied that no dog hadbarked. Holmes replied that it was the nonbarking that wassignificant. The same can be said about the growing concerntoward the end <strong>of</strong> the 1990s that the year 2000 mightbring massive, disastrous failures to many <strong>of</strong> the computersystems on which society now depended for its well-being.Most programs written in the 1960s <strong>and</strong> 1970s (seemainframe <strong>and</strong> cobol) saved expensive memory space bystoring only the second two digits <strong>of</strong> year dates. After all,dates could be understood to begin with “19” for manyyears to come (although some farsighted computer scientistsdid warn <strong>of</strong> future trouble). Eventually the centurybegan to draw to an end.Although much computing activity had moved ontonewer systems by the 1990s, many large government <strong>and</strong>corporate computer systems were still running the originalapplications or their descendents. If such a program wererun in the year 2000, it would have no way to distinguisha date in that year from a date in 1900. While the prospect<strong>of</strong> a centenarian being suddenly treated as a newborn waslikely to be more amusing than significant, what wouldhappen to a 30-year mortgage that was written in 1975<strong>and</strong> intended to come due in 2005? Would people be billedbased on a 70-year term? Many observers feared that somesystems would actually crash because they would begin togenerate nonsensical data. What, for example, might happento an air traffic control system or automated power gridsystem that used dates <strong>and</strong> times to track events?No one really knew. One problem was that there weremillions <strong>of</strong> lines <strong>of</strong> code, <strong>of</strong>ten written by programmerswho had long since retired. Nor was it simply a matter <strong>of</strong>looking for references to date fields (such as in decisionstatements), because <strong>of</strong> the many ways programmers couldexpress such statements. In addition to mainframe applications,there were also the computers hardwired into devices<strong>of</strong> all kinds including cars <strong>and</strong> airplanes (see embeddedsystem). As with the early mainframes, these systems were<strong>of</strong>ten designed with limited available memory, <strong>and</strong> thustheir programmers, too, may have been tempted to savebytes by lopping <strong>of</strong>f the century years.As the fateful date approached, government agencies<strong>and</strong> businesses began to invest billions <strong>of</strong> dollars <strong>and</strong> hireexpensive consultants to check code for “Y2K compatibility.”In the end, Y2K problems were found <strong>and</strong> fixedin the most critical systems, <strong>and</strong> the year 2000 dawnedwithout significant mishaps. (It turned out that virtually allthe embedded systems did not in fact have Y2K problems,mostly because they didn’t even track year dates.)But although the “dog didn’t bark” <strong>and</strong> in retrospectsome <strong>of</strong> the hype about Y2K seems excessive, it did leadto improvement in a great deal <strong>of</strong> s<strong>of</strong>tware. Further, itincreased awareness <strong>of</strong> dependence on computers for somany aspects <strong>of</strong> life—a dependence that has been cast ina harsh new light by the terrorist events <strong>of</strong> September 11,2001 (see risks <strong>of</strong> computing).Further ReadingCrawford, Walt. “Y2K: Lessons from a Non-Event.” Online, vol. 25,issue 2, March 2001, 73.522

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!