Y2k was a real problem for some (some would have lost far, far more than their Y2k fixit bills cost), but was hyped WAY beyond what it ever should have been, and to the point where those who knew better were unable to convince the decision makers. I worked from 1998 to 2006 in embedded electronics, so I’m in a position to know, but don’t take my word for it – figure it out yourself.
Consider this: virtually any system that MIGHT have had Y2k problems could have been tested beforehand by the simple expedient of changing the computer’s on-board clock to some date after 2000. Takes 10 seconds plus a reboot, and can be done on representative systems, rather than all of them. If a system DID exhibit a problem, THEN you could start throwing money at it.
Furthermore, the only programs that could POSSIBLY have a problem with Y2k are the ones that actually cared what the date was. This means that, say, 99%+ of all programs were immediately out of the woods. Any company spending any time or money on programs of this nature for Y2k compliance would have been better off buying $600 bolts like the Pentagon. It would both have cost less and given them more (the bolt).
Out of what was left, only programs that would actually check that the date was in certain bounds, or that actually exhibited poor behavior really needed to be changed. If your library book was marked that it needed to be returned in 1901 instead of 2001 you might chuckle, but you wouldn’t really care, and neither would the library staff. This drops another at least 50% of the field. These others may well need to be changed someday, but it was entirely cosmetic, and as any programmer knows, there are many more serious problems to worry about than the cosmetic ones. Money and time here could have been better spent fixing serious bugs and moving to the cosmetic ones when time and money were available, rather than getting a loan expressly to pay for a Y2k compliance team.
Out of the remaining programs that could be affected, and seriously (by either stopping because of the out-of-bounds check or getting seriously wrong results in, say, an interest accounting system), some 99%+ of THESE were money-oriented. Failure could cause serious loss of income or major problems in allowing work to continue. These problems would need to be fixed, and before Y2k (or you lose tons of money), but were not life-threatening.
Only an extremely small fraction of programs control dangerous machinery and are date-controlled. Seriously, why would your car’s ignition system care what the date was? Why would an airplane’s flight systems care? What possible use would that data have? And don’t say “on-board clock” because that would be controlled by a completely separate clock chip – they wouldn’t even be on the same circuit-board.
Any life-and-death control system would have had much more serious scrutiny, and would never have had the Y2k bug in the first place. They certainly wouldn’t have run on Windows! They generally use a proprietary RTOS… one where they know what each and every line of code is doing and why it is doing it.