🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Charles Noren Fri, 03 Aug 1990 16:57
C++ Class Library Standards
#268
Author: Charles Noren
Date: Fri, 03 Aug 1990 16:57
43 lines
2154 bytes
What is being done about establishing official class libraries
for C++?  I think a standard that addresses class types of
similar power as the National Institute of Health Class Library
(NIHCL) would be quite useful in developing portable code.
Perhaps significant movement is already being made in class
standards, and what is proper to be considered as standards
associated with C++, but I'll continue with my ignorance and
suggest some "strawman" class libraries I would like to see:

  1.  General data structures.  This would include things
      like collections, bags, sets, dictionaries, stacks,
      queues, heaps, etc..  Similar to NIHCL.

  2.  Math class library.  This would include matrix operations,
      complex numbers, and other mathmatical classes.

  3.  Operating System class library.  This would include
      a "process" class (start and kill processes, status
      processes),classes that support Inter-Process Communication
      (IPC), perhaps file I/O.

  4.  Database class library (I've heard that there are OODB
      standards groups in existance).

  5.  A windows class library (perhaps similar to InterViews).

  6.  A 2-D graphics class library.  This would support line
      graphs, bar charts, pie charts, etc..

  7.  A 3-D or advanced graphics library.

Some of these class libraries probably don't fall into the
domain of the C++ standards group, but it would be nice to
develop a master plan for class libraries, which would have
obvious advantages.  What is being done?  What would you like
to see?

-- 
Chuck Noren
NET:     dinl!noren@ncar.ucar.edu
US-MAIL: Martin Marietta I&CS, MS XL8058, P.O. Box 1260,
         Denver, CO 80201-1260
Phone:   (303) 971-7930
Re: C++ Class Library Standards
#300
Author: Paul S. R. Chisholm
Date: Sun, 05 Aug 1990 14:04
72 lines
3795 bytes
In article <1684@dinl.mmc.UUCP> noren@dinl.UUCP (Charles Noren) writes:
> What is being done about establishing official class libraries for
> C++?  I think a standard that addresses class types of similar power
> as the National Institute of Health Class Library (NIHCL) would be
> quite useful in developing portable code.

and suggests such a library should include

>  1.  General data structures.  This would include things
>      like collections, bags, sets, dictionaries, stacks,
>      queues, heaps, etc..  Similar to NIHCL.

True enough.  However, by the time we have an standard for C++, we
should have a standard for encapsulated data types.  For projects that
want to do lots of static type checking, using encapsulated types is
better than using the Smalltalk/NIHlib approach.  For projects that
want to do Lisp-like applications, more type freedom at compile time is
handy.  The language, and thus, the standardization effort, does and
probably should favor the former class (no pun intended) of users.

>  2.  Math class library.  This would include matrix operations,
>      complex numbers, and other mathmatical classes.

Complex is close to being standard; they're in the AT&T distribution.
Matrices are re-invented often enough that they should be standardized.
Should they do run-time bounds checking?  (Probably.)  Should arrays
that do run-time bounds checking be part of the standard?  (Probably.)

>  3.  Operating System class library.  This would include
>      a "process" class (start and kill processes, status
>      processes),classes that support Inter-Process Communication
>      (IPC), perhaps file I/O.

File I/O, yes, and almost certainly iostreams.  The Task library does
lightweight processes (and has a portable interface, but can't be
implemented portably, which is okay).  The semantics of starting a new
process vary drastically from operating system to operating system.
How heavily should the C++ standard rely on POSIX?  (Bear in mind that
there are some POSIXisms that break existing UNIX(R) code.)

>  4.  Database class library (I've heard that there are OODB
>      standards groups in existence).

I worry that they're going to be ready by the time the rest of the
standardization effort is close enough.

>  5.  A windows class library (perhaps similar to InterViews).
>  6.  A 2-D graphics class library.  This would support line
>      graphs, bar charts, pie charts, etc..
>  7.  A 3-D or advanced graphics library.

Both the portability and timeliness issues are a problem here.  Very
little of *any* of the things we've discussed here are "codifications
of current practice", but are of general interest to C++ programmers.
I'm not sure the same can be said of graphics.

> What is being done?

Some people are talking about it in netnews.  Ooooh.-)

> What would you like to see?

If we don't *finally* agree on a standard String class, there's gonna
be blood in the streets.-)

>Chuck Noren, Martin Marietta, dinl!noren@ncar.ucar.edu

Paul S. R. Chisholm, AT&T Bell Laboratories
att!mtunq!psrc, psrc@mtunq.att.com, AT&T Mail !psrchisholm
I'm not speaking for the company, I'm just speaking my mind.
UNIX is a registered trademark of UNIX System Laboratories, Inc.,
a subsidiary of AT&T.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads