[comp.std.c++] Low-Level services in ANSI C++

rja@edison.cho.ge.com (rja) (08/11/90)

Some articles here have recently raised the matter of what classes
and library functions should be part of the ANSI C++ standard.

I would hope that the ANSI working group would follow the lead of
X3J11 as to what is appropriate for the language standard and what
things are appropriate to leave to the IEEE 1003.* POSIX standards
groups.  The separation that IEEE 1003.1 & ANSI X3.159 achieved was
really fairly good.

Should there be a difference between "traditional" UNIX \(tm functions
and semantics and those in approved POSIX standards that would actually
affect C++ the language, I would hope that they would be resolved 
in favour of POSIX since all major vendours have committed to becoming 
POSIX compliant.  I expect that there aren't any such problems since C++
is a language and hence should be defined in an OS independent manner.

I would hope that the 1003.1 and P1003.1a interface definitions are
compilable with C++ already.

There seems to be a tendency in the postings here towards adding a lot
of classes to the standard library.  I'm concerned that we'll end up with
more than are really appropriate and especially concerned that we'll get
stuck with some that aren't as well thought out as they need to be and
hence lack generality and portability to the world at large.
-- 
______________________________________________________________________________
Internet  (vastly preferable) :         rja@edison.CHO.GE.COM  
UUCP (if you've got no choice):         ...uunet!virginia!edison!rja
------------------------------------------------------------------------------

mjv@objects.mv.com (Michael J. Vilot) (08/14/90)

In Article 112 rja@edison.cho.ge.com suggests that services which are more
appropriately part of the POSIX IEEE 1003 standard should be left out of
the X3J16 standard.  This is the suggestion the library working group made
to the X3J16 committee -- C++ bindings to other standards should be
considered outside the scope of X3J16.

One reason we are setting a priority on C++/C library compatibility is to
provide access to the existing libraries and standards through already-
developed C bindings.  (Re-use at work ;-)

Two other concerns were
> that we'll end up with more than are really appropriate and ...
> some that aren't as well thought out as they need to be

I don't think the first issue is a problem, given the pace of progress of
standards committees. (1/2 :-)

The second issue is a valid concern.  The goal of the library working group
is to work from existing, proven libraries rather than to invent as part of
the standards effort.  Unfortunately, C++ experience with exceptions and
templates (which both significantly impact library design) is rather scarce
and not widely documented.

I think both of these factors will work to limit the contents of the C++
standard library to elements that are widely regarded as necessary and
helpful.

--
Mike Vilot,  ObjectWare Inc, Nashua NH
mjv@objects.mv.com  (UUCP:  ...!decvax!zinn!objects!mjv)