| Line 1: |
Line 1: |
| − | The '''Y2K problem''' was identified in the late 1990s by computer scientists who observed that too many dates were stored with two-digit years. This leads to the critical problem of deciding whether, for example, a date recording as "12/25/80" refers to Christmas 1880 or Christmas 1980. | + | The '''Y2K problem''' is a problem in computer hardware and software programming where unintended results may take place if a year represented as two digits is not interpreted correctly. There are two basic aspects to the Y2K problem: |
| | | | |
| − | A two-digit year is recorded by leaving out the first two digits, seen as redundant. For systems which use only a short range of dates, say 1960 through 1990, this seemed to make sense. An event which took place in '75 could not have occurred in 2075 (far in the future) or in 1875 (the distant past). With memory as expensive as it was in the early days of modern computing, it was a common practice to save storage space by using two-digit years.
| + | - Determining the correct value of a 2-digit year. ''Example - does "20" represent 1920 or 2020?'' |
| | + | - Performing date-based calculations correctly. ''Example - if you subtract "97" (1997) from "07" (2007), will you get 10 years, or minus 90?'' |
| | | | |
| − | For birth dates, one can generally assume that most people live less than 80 years. So, for all practical purposes, it was possible to guess the century of their birth. In 1995, a person with a birth year of '55 could not have been born in 1855.<ref>The oldest persons to have lived in modern times were between 110 and 120 years old. </ref>
| + | The origins of the problem lie in the high cost of data storage in the early days of computing, where storing a date in 6 digits (mmddyy) versus 8 (mmddyyyy) could result in significant savings. If the specifications for a piece of software were well-designed this is not a problem, but in many cases the century component of a 2-digit year was assumed instead of being explicitly accounted for in programming. |
| | + | |
| | + | As the 1990's progressed, it was determined that there was a significant base of legacy software and hardware that might not work correctly once the default century portion of current dates changed from "19" to "20". While the code to handle 2-digit years correctly is not complex, the challenge was in identifying every instance of bad code, and correcting & retesting it before January 1, 2000. |
| | | | |
| − | As the years stretched on, however, more and more people were slipping through the cracks of this principle. Computer programmers began to wonder they could determine the age of someone born in '98 when runnning a report in the year 2001. Would it indicate a [[toddler]] or a centenarian? Clearly, something had to be done.
| |
| | | | |
| | ==Cost of Y2K-related Efforts== | | ==Cost of Y2K-related Efforts== |