[comp.lang.c++] Generic Object Oriented Libraries

jrl@anuck.UUCP (j.r.lupien) (01/20/88)

Hello,
   Does anyone out there know the status of the OOPS
library with respect to the "production release"?

   Also, can anyone help me with investigating similar types
of object oriented support packages, particularly Advantage C++
(PC) compatible?

   Please respond by E mail. I will post a summary.


				Thank you,

				John R. Lupien
				ihnp4!mvuxa!anuxh!jrl

keith@nih-csl.UUCP (keith gorlen) (01/23/88)

In article <455@anuck.UUCP>, jrl@anuck.UUCP (j.r.lupien) writes:
> Hello,
>    Does anyone out there know the status of the OOPS
> library with respect to the "production release"?
> 

My OOPS class library is still "guru-only" status.  The code is solid,
we're using it here in two large packages, and every so often I hear
from others who are using it.  It is "guru-only" because of the
documentation.  I never did get around to documenting many of the
classes, and what documentation there is hasn't been kept up to date
as OOPS has evolved, so the only way to really understand what's there
is to read the header files and test programs.

I have a new release in preparation for submission to the USENIX C++
tape that Peter Salus is assembling.  In addition to some minor
changes there are 4 new classes: Iterator, String, Regex, and Range.
Iterator is a cleaner mechanism for iterating over Collections.  The
String package is a much more efficient version of the original OOPS
String class, and has more functional SubString operations.  Regex is
a class built around the GNU Emacs regular expression pattern matcher,
and instances of Range represent integer ranges used in conjunction
with the String and Regex classes.  I also did some decent
documentation for the new classes.

A paper describing OOPS was published recently: "An Object-Oriented
Class Library for C++ Programs", Software -- Practice and Experience,
Vol. 17(12), 899-922 December 1987.

We are working on a book on OOPS, hopefully to be published late this
year.

I also plan to experiment with supporting multiple inheritance in OOPS
when it is available in C++.
-- 
	Keith Gorlen			phone: (301) 496-5363
	Building 12A, Room 2017		uucp: uunet!ncifcrf.gov!nih-csl!keith
	National Institutes of Health	Internet: keith%nih-csl@ncifcrf.gov
	Bethesda, MD 20892

grunwald@uiucdcsm.cs.uiuc.edu (01/28/88)

Can we gripe about OOPS in here? I'd like some general feedback from others
who use OOPS.

1) I think that the OOPS names should be more long-winded for internal
   functions. I'm mainly thinking of 'release'.

   I've got a set of routines for OOPS/Extentions for a Discrete Event
   Simulation Evenvironment (OOPS/EDASE), and 'release' as a very different
   meaning in simulation programs.

   'releaseInternalObjects' might be better.

2) There's too much of a tie-in to the provided 'process' notion -- it should
   be possible to not have the Exception stuff loaded. I'm using a thread
   notation which is cheaper than the process notation, primarily because
   it's designed for DAS, where I don't use any exceptions.


Am I off base with this?

dirk grunwald
univ. of illinois