Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!brl-adm!adm!dsill@NSWC-OAS.arpa From: dsill@NSWC-OAS.arpa (Dave Sill) Newsgroups: comp.lang.c Subject: Re: Evolution, revolution & rebirth Message-ID: <9156@brl-adm.ARPA> Date: Thu, 3-Sep-87 15:35:58 EDT Article-I.D.: brl-adm.9156 Posted: Thu Sep 3 15:35:58 1987 Date-Received: Sat, 5-Sep-87 11:19:15 EDT Sender: news@brl-adm.ARPA Lines: 51 >In article <9042@brl-adm.ARPA> dsill@NSWC-OAS.arpa (Dave Sill) writes: >>Maybe if software had a mechanism for dying when it was past its prime >>we wouldn't have this problem. [...] > >Yeah. It always appears to me what a *GREAT* idea it will be for files >to automatically commit suicide when their uses are gone. We will then >never run into storage problems. Okay, I can see this requires explanation. I know this is a little off the beaten path for this list, but since the above was posted here I feel I should be allowed a rebuttal. What I envision when I think about a such a mechanism is a little more subtle than "suicide". The scenario is like this: When a language's standard is released, it specifies a date after which source code in that generation of the language would no longer be compilable(*). The standard also specifies that prior to that date, a new standard will be in place for the next generation of the language and will have been available long enough to ensure the availability of new compilers in time to upgrade the old source code. For example, lets say ANSI subcommittee z4x87j42 produces a standard for the S language in 1990. This is the first ANSI standard for S, so it is referred to as Generation 1. The standard specifies that a standard for S language Generation 2 will be available by 2000, and that after 2005, Generation 1 code will become invalid. Programs developed under Gen 1 would still be runnable after 2005, but the source code would not be compilable. Developers would have plenty of time to rewrite their code as Gen 2. No doubt, they would take advantage of the forced rewrite and incorporate any major changes at that time. Of course, there would be no problems with backward compatibility... ... meanwhile, back in the *real* world ... Of course it would take a tremendous amount of self control on the part of the software industry to adhere to such a policy, even if it would be for the greater good. Maybe there would have to be laws prohibiting the compilation of outdated sources... Radical... -Dave (*) While checking the spelling of compilable, which wasn't in my dictionary, I noticed the origin of the word "compile": it comes from the Latin word "compilare" which means "to plunder". The opinions expressed above are those of the author and do not necessarily reflect those of the Department of Defense or the U.S. Navy.