Programmers, please respond quickly!

greenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread

Programmers,

the main question that I run into is this...."It is just a date, why would it cause problems?" I am going to discuss this with some people soonish that NEED to be convinced that there will be at least SOME problem...Please respond, totally geeky if you have too!!

thanks a million!!

Archer

-- Archer Tullidge III (archiebabe@aol.com), June 21, 1998

Answers

There is an old saying in the programming world:

"If architects built buildings the way programmers write programs, the first wood-pecker to come along would destroy civilization".

Dates are central to virtually all financial calculations. Dates are reported to be critical in some embedded systems used by utilities and manufacturers, although I can't speak to that.

Virtually all software has been written by people who were either contractors, and had no loyalty to the customer (self-employed excepted), or staffers who planned on leaving in 1-2 years for more money and didn't care that they were leaving time-bombs in programs.

The US won't get all critical systems fixed in time - this according to even the more optimistic (knowledgable) observers. The rest of the world is WORSE off. The current global economy is already having a lot of trouble. The US just bailed-out the Japanese currency (Yen) by selling dollars and buying Yen. I just read that Mexico is just now starting to face an economic problem that proportionally is bigger than the US Savings & Loan bailout, even though they just got bailed out (50 Billion) a few years ago.

Y2K need not be a complete crash to TRIGGER a complete crash. Panic alone could cause a complete (financial) crash.

I for one, however, am gambling that the electric grid will remain intact near major cities. Guess where I live...

-- Phil (pperucci@mindspring.com), June 21, 1998.


Hi Archer,

You said:

...."It is just a date, why would it cause problems?"

No, it's not just a date. You're right, a computer doesn't care about a date. It is a NUMBER. Arithmetic is performed, using the number. In a numerical sequence, 2000 is 1 greater than 1999. If only the last two digits are used (and the first two digits are assumed to be 19), then we have the weird math in which 1900 is 1 greater than 1999.

Help any?

-- DeAlton Lewis (delewis@inetone.net), June 21, 1998.


It is just a date, but it is the wrong date. People have been putting these wrong kinds of dates in programs for 20 to 30 years, so the task of finding and correcting all these dates is a mammoth task. It is further compounded by the fact that the source code for many programs has been lost, so there is no way to know what these programs are supposed to do. It is further compounded by the statistical probablility that for every 100 corrected statements written into programs, there will be 7 new errors introduced. It is further compounded by the fact that there are too few programmers trained and willing to do the work in the remaining time. It is further compounded by the fact that many people in a position to get the work going have yet to come to the conclusion that there really is a problem. It is further compounded by the fact that you can fix all the programs for which you have responsibility and still not have solved the problem because all of us are dependent on many others fixing all their problems. It is further compounded by the fact that for most organizations it is impossible to go back to doing things the way they were before computers. It is further compounded by embedded chips that are in inaccessible places and little understood. It is further compounded by, etc, etc, etc, etc. If it was some silly little problem, would Citibank be spending 500 million dollars to fix it?

<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>.....

-- Dan Hunt (dhunt@hostscorp.com), June 21, 1998.


Dates are used all over the place in computer programs : - calculating interests for banks - calculating value dates also in banks, this will determine if you are in overdraft or not - in all companies calculate number of days of unpaid bills - in government for tax calculation ,pension calculation, etc... - and many, many more

Many of the programs used are around twenty years old, and written in languages (mostly cobol but there are also many assembler programs out there). Those languages have no specific structure for dates (dates are just numbers). Many programmers have invented their own way of handling dates, havent told anybody and are now retired.

So what could happen ? : - Banks could think all their customers are in overdraft, or that they suddenly earned huge amounts of interest - Any company could loose track of how old their unpaid bills are - All the population could suddenly be at pension age

Now of course banks for instance would not close the accounts of all their customers or pay them all millions of dollars of interest. But it will create total confusion meaning that they might have to stop completely their operations for several days or weeks until they locate the source of the problem and have corrected all the previously made wrong calculations. The same type of confusion would occur in all other cases.

Does this answer your question ? If not send me a mail

-- Robert SCHEIDT (robert.scheidt@unisys.com), June 22, 1998.


Let me make this easy on you. Tell your company that every report which displays a date will now be required to display the year with four digits instead of the standard 6/23/98 format. The uproar from the IS people will do the explaining for you.

-- Amy Leone (aleone@amp.com), June 23, 1998.


Every school child, and every computer, knows that 99 is a bigger number than zero. When the year becomes zero on January 1, 2000, the computers will "think" year zero came before 1901, 1902, .. 1999. Because the instructions to tell the computer that year zero comes AFTER year 99 is missing from the computer programs, the output of the computer program will be wrong. Because the output is wrong, everything that relies on that output will no longer work correctly. Given the huge number and complexity of computer systems in the world, and the very limited resources available to fix this hi-tech labor intensive problem, it is not possible to fix it in time. Perhaps only 75% of the computer systems will work by the time 2000 comes around. When the other 25% of the computer systems fail, so will our economic and social systems that depend on them.

-- Jay McInvale (Jay@mcinvale.com), June 26, 1998.

Beautiful answer Dan: clear, avoids jargon, gets to the point....

-- Robert A. Cook, P.E. (cook.r@csaatl.com), September 01, 1998.

Moderation questions? read the FAQ