Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!ucsd!ucbvax!PENNDRLS.BITNET!DAVID From: DAVID@PENNDRLS.BITNET Newsgroups: comp.lang.forth Subject: Re: Basis for my misgivings about the change of VOCABULARY.... Message-ID: <9011022135.AA23813@ucbvax.Berkeley.EDU> Date: 1 Nov 90 18:36:43 GMT Sender: daemon@ucbvax.BERKELEY.EDU Reply-To: DAVID%PENNDRLS.BITNET@SCFVM.GSFC.NASA.GOV Organization: The Internet Lines: 40 Frank Earl writes: >and you have to re-write loads of code) [ PLEASE NOTE- I have YET to see proof >positive that I WON'T have re-write many portions of my 83 standard code or >claim an environmental dependency (Of which, similar code in C DOESN'T HAVE >TO!!)] I'm all for the standard, I'm just getting the feeling that it may hav e I don't know how many times those of us who (I hope) understand what the standard is trying to do have to repeat this before it will sink in, but here goes one more try. Please excuse the emphasis, but I feel like this argument has gone around too many times (not by you, Frank, you just happened by at the wrong moment :-). If you currently have code that is 83 (or 79) standard, then if the vendors rewrite their systems so that they are compliant and do not delete any features (and the standard is specifically designed so that they can do this), then your code will be EXACTLY AS PORTABLE AS IT WAS BEFORE THE STANDARD, no more, AND NO LESS. If you choose to take the time to *rewrite* your code to be ANSI compliant (yes, EVERYBODY will have to rewrite to achieve that) then your code will become portable to EVERY ANSI COMPLIANT SYSTEM, including many on which your code would not (before the standard) have had a prayer running. The standard is not, AND CAN NEVER BE, a magic wand which you can wave and say 'my code is portable'. YOUR CURRENT CODE IS EXACTLY AS PORTABLE AS IT CURRENTLY IS, AND THE STANDARDS COMMITTEE CANNOT CHANGE THAT. To rephrase, the intent is to AVOID BREAKING CODE THAT WORKS NOW, but to provide standard facilities so that code that is FULLY portable CAN be written by those who need to do so. -- R. David Murray (DAVID@PENNDRLS.BITNET, DAVID@PENNDRLS.UPENN.EDU) P.S.: 'Similar code in C' (whatever that is) was portable after the ANSI C standard only insofar as it was portable before the C standard, or because the standard broke somebody else's code. Because C compilers are harder to write, there was more uniformity among C implementations than there are among FORTH implementations, and so there were fewer problem areas. (But, note, I'm *still* not sure how to declare, reference, and initialize a variable at the outermost level of a C program so that it will be portable!)