Article View: comp.lang.objective-c
Article #274Re: How's Stepstone/Objective-C doing?
From: Charles Noren
Date: Fri, 12 Apr 1991 16:50
Date: Fri, 12 Apr 1991 16:50
75 lines
4924 bytes
4924 bytes
In article <SALC.91Apr9145833@aristotle.shearson.com> salc@alfred.shearson.com writes:
>Please explain why C++'s implementation of the object oriented paradigm cannot
>be used to implement software ICs. Please explain why a library of C++ classes
>(such as NIHCL or Interviews) is not useful in the same way that an
>objective-c class library would be.
I'll horn in on this conversation...
I have used Objective-C and am currently using C++.
C++ can be used to create software IC's with polymorphic member functions.
NIHCL is a good example of such a software IC that corresponds with
ICPak 101. However, Objective-C has some significant advantages over
C++ that should not be overlooked:
1. Objective-C from Stepstone comes with several mature, vendor supported
class libraries. Comparing just the languages is much like getting
into arguments about which microprocessor chips are better. What
really counts is the development environment your given. With
Objective-C you get the vendor supported Foundation classes (similar
to C++'s NIHCL), the window class library and the 2-D graphics library.
It should also be noted that the Foundation Class library (ICpak 101)
comes bundled with Objective-C. For C++ there is NIHCL (National
Institutes of Health Class Library), a Smalltalk-like class library.
We are using NIHCL in our project, and I think the developers of it
did a remarkable job! HOWEVER, no C++ compiler that I know of supports
it. Sure, it comes in the Saber C++ distribution (along with other
C++ compiler vendors), but it is listed as unsupported software -- i.e.
no guarantees that it will even compile under future compiler releases.
This does not give me a warm fuzzy feeling. Also, because NIHCL is
unsupported, there is no vendor that I can call when I encounter
problems. There is a nice book published by the makers of NIHCL, and
there is the source of NIHCL, but the NIHCL software is so large that
the current documentation needs to be expanded into many volumes before
I can begin to feel comfortable with NIHCL. I've also found that not
all C++ (Cfront 2.0, 2.1 compatable) compilers will compile NIHCL.
The same problems with NIHCL goes with Interviews.
With the vendor supported class libraries from Stepstone, you can easily
give yourself an extra 6 month++ head start on a project over C++ just
because the classes libraries from Objective-C are mature and vendor
supported.
2. Langauge features. Objective-C was easier to learn (for me at least) than
C++. Objective-C has just a few additions to the C language. With C++
I feel that there is much going behind the scenes that I sometimes lose
sleep wondering what I'm missing that will bite me later. Objective-C also
has the ability to deal more directly with "meta-class" issues that C++
cannot directly handle. I can ask if a class is derived from another class.
This can be done in C++, but only if you build that into each class (like
NIHCL). I can also ask if an Objective-C class can respond to a given
method or member function and get a yes or no answer. C++ does not do this.
Certainly C++ does have a lot of interesting features, such as multiple-
inheritence, operator overloading, etc. -- and being a hacker at heart I
love to play with these things. C++ also supports stronger type-checking.
However, I personally prefer the the ability of getting to "meta-class" things
of Objective-C over the enhancements found in C++.
3. Tools. The C++ development environment has made major strides in the past
six months! We are using Saber C++ with its integrated development environment
(which includes an interpreter, debugger, classs browser) and it IS NICE.
However, I like the Stepstone class browser better (somewhere around here
I wrote a review about the Stepstone browser).
These are some of my thoughts about the Objective-C/C++ religious war. I'm biased
towards Objective-C. These opinions reflect that bias, but no one should dismiss
using Objective-C.
--
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) 977-1646
Technical Details
Message-ID:
<1844@dinl.mmc.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!ncar!dinl!norenReferences:
<1991Mar30.165230.11364@sugar.hackercorp.com> <6737@stpstn.UUCP> <SALC.91Apr9145833@aristotle.shearson.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!ncar!dinl!noren From: noren@dinl.uucp (Charles Noren) Newsgroups: comp.lang.objective-c Subject: Re: How's Stepstone/Objective-C doing? Message-ID: <1844@dinl.mmc.UUCP> Date: 12 Apr 91 16:50:23 GMT References: <1991Mar30.165230.11364@sugar.hackercorp.com> <6737@stpstn.UUCP> <SALC.91Apr9145833@aristotle.shearson.com> Reply-To: noren@dinl.UUCP (Charles Noren) Organization: Martin Marietta I&CS, Denver CO. Lines: 75