phipps@fortune.UUCP (Clay Phipps) (07/12/84)
A two level standard seems like a good idea,
and there are many precedents for it:
ANS FORTRAN & FORTRAN 77:
"Full" and "Subset" languages.
FIPS (a government designation) COBOL:
"Low", "Intermediate", "High" levels.
ANS PL/I:
[whatever "full PL/I" is called] and "General Subset PL/I".
ISO Pascal:
Levels 0 and 1 (1 is essentially level 0 + "conformant arrays").
Ada:
no subsetting allowed by DoD AJPO,
but one has been repeatedly suggested from numerous quarters.
I agree that without some specific reason to improve on six-character
external names, some compiler people and management will either
not bother at all, or devise some cast-in-concrete inadequate improvement.
Have you ever tried to convince management with a "just meet the spec,
we're in a hurry" attitude to let you expend the effort
to do something better than a standard calls for ? I have (not here, btw);
it's frustrating. It really helps to be able to point to a standard
of some kind.
Consider the marketing advantage in being able to advertise
your C compiler as being "full C" instead of your competitor's "subset C".
Similarly, there could be a procurement advantage that allows you
to buy a better compiler that is more expensive than "low bid".
This seems to be a really big deal with COBOL compilers,
and could be with C.
-- Clay Phipps
--
{ amd hplabs!hpda sri-unix ucbvax!amd }
!fortune!phipps
{ ihnp4 cbosgd decvax!decwrl!amd harpo allegra}henry@utzoo.UUCP (Henry Spencer) (07/13/84)
> A two level standard seems like a good idea, > and there are many precedents for it... The current ANSI C draft contains a short appendix of "recognized extensions". Among them are things like the labelled-common model of multiple external definitions, since the defines-uses model is the only one that can be implemented on most non-Unix systems. I don't know whether long external names are mentioned, but it would certainly seem appropriate. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry