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