From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: Charles Hixson Subject: Re: Software landmines (loops) Date: 1998/09/03 Message-ID: <35EF7971.1CDE6B7D@earthlink.net>#1/1 X-Deja-AN: 387740732 Content-Transfer-Encoding: 7bit References: <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <35f51e53.48044143@ <904556531.666222@miso.it.uq.edu.au> <6sf87j$47n$1@hirame.wwa.com> <6sh6ic$o8p$1@nnrp1.dejanews.com> <6shhcq$lid$1@hirame.wwa.com> <6sk59r$8e6$1@nnrp1.dejanews.com> <6ske0c$16k$1@hirame.wwa.com> X-Posted-Path-Was: not-for-mail Content-Type: text/plain; charset=us-ascii X-ELN-Date: Thu Sep 3 22:20:56 1998 Organization: Mandala Fluteworks Mime-Version: 1.0 Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-03T00:00:00+00:00 List-Id: Robert Martin wrote: ... > If only it were so. But of course many of the Y2K problems are not being > solved by expanding the field to four digits. Rather they are adding *code* > not *space*. The technique is called windowing. Whenver date subtractions > or comparisons are done in the code, they interpreted as follows: > > if date > X assume 1900 else assume 2000 > > If X is 50 then any date larger than 50 is assumed to be in the 20th > century. Otherwise the data is assumed to be in the 21st century. > > This, of course, means that there will be a Y2050 crisis. Ah, but no. > Because X is not universally agreed upon. Some applications use 60, some > use 40. So what we really have is a smearing of the crisis over the next > several decades. > > Of course none of those old COBOL programs will still be running then... > > The choice to use windowing rather than 4 digit dates is also an engineering > trade off. > ... > Robert C. Martin | Design Consulting | Training courses offered: > Object Mentor | rmartin@oma.com | Object Oriented Design > 14619 N Somerset Cr | Tel: (800) 338-6716 | C++ > Green Oaks IL 60048 | Fax: (847) 918-1023 | http://www.oma.com > > "One of the great commandments of science is: > 'Mistrust arguments from authority.'" -- Carl Sagan I hope that you are wrong about what they are doing. I fear that you aren't. Windowing is a good solution for recovering the data before saving it into a new format. It's a very bad permanent "solution". Usually. Sometimes one can define a window based around the current date that will work in a permanent manner (data only kept for so long, e.g.). And in such cases one would always be able to recalculate the data to the expanded format whenever needed. (This is why there should never be a 9999 crisis).