C++ as "the revision of C" <9012060521.AA01227acygnus.com>

Donn Terry uunet!hpfcrn.fc.hp.com!donn
Thu Dec 6 07:31:38 PST 1990


John Gilmore makes the point that "C++ is not a revision of C".
I have to both completely agree and completely disagree!

C++ as a revision of historical K&R C is much more than you'd expect
out of a "revision".

ISO C++ (SC22/WG16 if I remember right) should probably be interpreted
as being, by executive order, a revision of ISO 9899 ("ANSI C").
(More importantly, given "the hardening of the arteries" in the 
ANSI C committee, it's probably the only means whereby C can be
revised/extended (in the sense of a formal standard).)

Although things can and do change, the "pragmatic reality" of the moment
is that if you want C to be change, it seems that C++ is the means whereby
that can be done in the formal standards community.

Note that for C++, the special role that X3J11 had for C is not available.
Development of C++ will be within ISO (SC22/WG16), not some X3 committee.

It also seems *possible* that a "new" "standard", which relies on ANSI C as
a baseline but which is completely a new document number and refers to
ANSI C for much of its content (in the same way that POSIX does) could
be developed.  The politics of that are sticky, and what level of formal
approval could be obtained isn't clear, but it at least exists as an option.
(The levels that I can think of are (examples of each level:) OSF/UI, X/Open,
IEEE/X3 (==ANSI), and ISO.)  (The user model is that they specify
X3.159/ISO 9899 if they don't want the numeric stuff, and this new
"standard" if they do, which includes ANSI C *and* some extensions.)
Politics may well requre it to have a new name: I hereby (in historical
style) suggset "(float)C" (sorry!).

A little philosophy: like all such things, such extensions would have more
uses than originally envisioned.  "Hardening of the arteries" in this area
is probably something to be avoided.

Donn Terry



More information about the Numeric-interest mailing list