Path: utzoo!mnetor!uunet!portal!cup.portal.com!Andre_Louis_Marquis From: Andre_Louis_Marquis@cup.portal.com Newsgroups: comp.lang.c++ Subject: re: C++ Questions (Objective-C) Message-ID: <2132@cup.portal.com> Date: 23 Dec 87 17:27:52 GMT References: <2054@cup.portal.com> Organization: The Portal System (TM) Lines: 53 XPortal-User-Id: 1.1001.3081 >We are investigating the differences between Objective-C and C++. >What class libraries are available for C++? Try getting a copy of Keith Gorlen's OOPS Library. It is perhaps even larger than the Objective-C library, and there's no copyright restriction. OOPS is in the "guru-only" stage, but I found it as easy to use and it's free. Mr. Gorlen's uucp address is uunet!mimsy!elsie!nih-csl!keith. Basically, you send him a tape and he returns it with a copy of the library and some preliminary documentation. (And it's not printed on 8 1/2x6 1/2 yellow paper, for those of you who know what I mean. :-)). OOPS is bug free in my experience, but it may not have been ported to as many machines as the Objective-C library. You do get all the source code, however. I recommend it if you don't mind a little adventure. I'm using it for a major project. >(I just requested information about Phoenix's PForce++.) Would someone mail me a hint about this? I'm new to this conference. >If I define a common superclass for all objects (Object), as >others have mentioned, do I get the flexibility that Objective-C provides? >Are there any problems with that strategy? Since C++ doesn't provide this >capability directly, it seems to conflict with C++'s underlying philosophy. OOPS defines a common class hierarchy. You may test object classes and phyla. Virtual methods are inherited and can be overridden. >Is there any equivalent of [super foo] in C++? This allows method foo to >invoke the inherited method that was overridden. You just scope the name -- super_class::foo(). >Are there any fundamental differences between the messagers, or is that >simply an implementation issue? There is no dynamic messaging in C++, i.e. no "perform: selector" message, but normal messaging is faster. You also get automatic constructors/destructors, operator redefinition (<< and >> I/O is nice) and a more general paradigm. (On the hustings he goes...) But, most of all, C++ is a powerful, multi-vendor standard. There are free toolkits (OOPS for classes, InterViews for X Windows, ...?) and soon a free compiler and debugger. (Thank you, Michael Tiemann and the Free Software Foundation.) I think that PPI has done some very good work with Objective-C. They also charge a hefty fee for it (An ICpak (It's user interface software.) development license is $35,000 + $5,000 for the source code, for example. I'm sure it's excellent stuff, but $40K is STEEP.) You rely on them for innovation and bug fixes. (In addition, I think their documentation is horrible. Correct me if I'm wrong. Their manual has ONE complete example program. Stroustrup's book is in a different league.) There are people who are glad to do the same manner of hand holding for you with C++ that PPI provides for Objective-C. I've used both and I prefer C++. That's an opinion. Andre Marquis