[comp.lang.c++] Classix C++ Summary

wittkopf@proton.mpr.ca (Kevin Wittkopf) (06/14/91)

Awhile ago I posted a query regarding experience using the Classix C++ class
library. Thank you to everyone who responded. Here's a collection of the 
responses I received:



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 


From: milt@pe-nelson.com
To: wittkopf@proton.mpr.ca
Subject: Re: Classix C++ library
Date: Mon, 3 Jun 91 20:20:12 PDT

In comp.lang.c++ you write:

>I'm currently developing an class library tool, and have been considering
>various public and commercial class libraries to populate the library.
>One such candidate is the Classix C++ library from Empathy Incorporated.
>Does anyone have any experience with this library? We will probably be
>using it in conjunction with the InterViews class library. I'd
>be especially interested if anyone has tried this combination, and what
>sort of benefits/problems have been encountered. I'll post a summary of
>the reponses I receive. Thanx in advance.

We have been using the Classix library for several months.  Actually I should
say the we purchased it several months ago.  The people at Empathy have some
very good ideas, particularly regarding the group of "required" functions,
however they have little else.  Most classes, strings, lists, etc.  are so
devoid of functionality that it is only a starting point.  While we have taken
the ideas embodied in their "required" functions, the acutal classes we use
have had significant extensions added to make them useful.

-- milt

Milt Ratcliff
milt@pe-nelson.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

From: BOYLE@TREES.dnet.ge.com
To: wittkopf@proton.mpr.ca
Subject: Classix C++ with InterViews
Date: Tue, 4 Jun 91 11:07:32 EDT

Hi Kevin,
  We've recently installed Classix to be used in conjunction with
our InterViews work.  In particular, I've been looking at the 
Classix/dstructs/graph classes (nodes, arcs, etc.).  So far, no problems
in using this small subset in conjunction with InterViews.  I'm not sure
if naming problems exist in other areas of the library, though.  We had
some trouble in this area a while ago when we tried to use the nihcl classes
with InterViews. 
  SOrry this isn't a lot of info, but in the future we may want to keep in
touch if we both end up using the two libraries together and want to 
cut down on bug fixes.....

Dorothy Boyle
GE Aerospace
boyle@trees.dnet.ge.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

From: clrcom!worf!rmartin@uunet.UU.NET (Bob Martin)
To: wittkopf@proton.mpr.ca
Cc: 
Subject: Re: Classix C++ library
Date: Thu, 6 Jun 91 09:25:07 CDT

In article <1991Jun3.100205@proton.mpr.ca> you write:
>
>Hello, 
>
>I'm currently developing an class library tool, and have been considering
>various public and commercial class libraries to populate the library.
>One such candidate is the Classix C++ library from Empathy Incorporated.
>Does anyone have any experience with this library? We will probably be
>using it in conjunction with the InterViews class library. I'd
>be especially interested if anyone has tried this combination, and what
>sort of benefits/problems have been encountered. I'll post a summary of
>the reponses I receive. Thanx in advance.
>
>
>--
>Kevin Wittkopf                  | Voice : (604) 293-6087
>MPR Teltech Ltd. 		| Fax   : (604) 293-5787
>8999 Nelson Way, Burnaby, BC    | E-Mail: wittkopf@proton.mpr.ca
>Canada, V5A 4B5                 |         proton.mpr.ca!wittkopf@uunet.uu.net

Kevin:

I have used Classix for the last few months.  I find it adequate.  The
code appears to work ok.  

I have had a few problems..  First they use pretty common names for
their classes and types.  While that has its advantages it also
has disavantages when using it in conjunction with other code
which uses the same common names.  Names like Node, Datum or Queue.
However since source is distributed it is possible to alter their
code to fit it into your system.

The classes are minimal.  There are natural methods missing.  For
example there is no way to insert objects within a linked list.  I
had to derive my own class from LinkedList to add the insertion
operation.

The package is worth the price, but not worth any more than the price.


												Bob

-- 
+-Robert C. Martin-----+:RRR:::CCC:M:::::M:| Nobody is responsible for |
| rmartin@clear.com    |:R::R:C::::M:M:M:M:| my words but me.  I want  |
| uunet!clrcom!rmartin |:RRR::C::::M::M::M:| all the credit, and all   |
+----------------------+:R::R::CCC:M:::::M:| the blame.  So there.     |

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

From: twbrown@pe-nelson.com
To: wittkopf@proton.mpr.ca
Subject: Re: Classix C++ library
Date: Mon, 10 Jun 91 13:13:08 PDT

In comp.lang.c++ you write:


>I'm currently developing an class library tool, and have been considering
>various public and commercial class libraries to populate the library.
>One such candidate is the Classix C++ library from Empathy Incorporated.
>Does anyone have any experience with this library? We will probably be
>using it in conjunction with the InterViews class library. I'd
>be especially interested if anyone has tried this combination, and what
>sort of benefits/problems have been encountered. I'll post a summary of
>the reponses I receive. Thanx in advance.

We purchased a copy of Classix a while ago; the following sums up what
I feel are the strong and weak aspects of the product:

Strong:
   - Comes with source code and documentation.  It's nice to get source
     because, sure as <insert favorite euphemism here>, Empathy is not going
     to do everything the way you want it done.

     The documentation (as well as the code) is pretty good; the source
     is a *lot* easier to wade through than the NIHCL stuff.

   - Empathy lays down a pretty good set of fundamentals for their classes.
     They actually discuss this in their newsletter (the C++ Insider).

Weak:
   - Their containers are sub-par.  Instead of attempting to provide
     templates as layed out for C++ 3.0, they provide their own method
     of parameterizing classes that uses an auxiliary program to generate
     source.

   - A continuation of above, apparently no provision is made for support
     of templates *as specified in Ellis & Stroustroup* (I could be wrong,
     Empathy may have this support in the works).

   - Like everyone else doing class libraries, Empathy apparently believes
     that no one is going to mix and match between different class libraries
     and therefore have used class names that are definitely going to
     collide in the C++ name space (Object, String, Boolean, etc...).

     You should be safe with InterViews since, with version 3.0, it uses
     the preprocessor to place an "iv_" in front of all class names.

Basically we use the Classix library as a guide for our own development; step
one being to see if it has a class we need, step two - does it need to be
modified to meet our requirements, step three - modify as necessary (usually
through inheritance).

The only cases that have significantly deviated from this approach have been
generic containers which we have essentially written from scratch for
ourselves.  The Classix containers we felt were virtually useless.

If you have any questions feel free to get in touch.

-- Tom Brown
   twbrown@pe-nelson.com





--
Kevin Wittkopf                  | Voice : (604) 293-6087
MPR Teltech Ltd. 		| Fax   : (604) 293-5787
8999 Nelson Way, Burnaby, BC    | E-Mail: wittkopf@proton.mpr.ca
Canada, V5A 4B5                 |         proton.mpr.ca!wittkopf@uunet.uu.net