ftp.nice.ch/peanuts/GeneralData/Usenet/news/1989/CSN-89.tar.gz#/comp-sys-next/1989/Aug/C++-vs.-"Objective-C"

This is C++-vs.-"Objective-C" in view mode; [Up]


Date: Sun 09-Aug-1989 16:06:52 From: Unknown Subject: Re: C++ vs. "Objective C" In article <QYrspry00Uw74A3X0p@andrew.cmu.edu>, ak10+@andrew.cmu.edu (Andrew Joseph Kompanek) writes: > First, is there an Objective C standard, either formal or informal? If not, > what was NeXT's reasoning behind adopting Objective C? In any event, > why wasn't C++ chosen? Its popularity is growing and more important, > Stroustrup has defined the language formally. The main reason behind this is probably due to the fact that C++ is a fairly recent beast. When work was begun on the NeXT and NeXTStep (about 3 or so years ago) C++ was not really a consideration. Originally there was even a lot of talk about using Smalltalk as the native software environment. Thank goodness they at least picked a flavor of C! Up until recently the only people who had a good C++ compiler [CFront] working was (believe it or not) Apple Computer Inc. They also fixed many of AT&T's bugs for them.... so thank you Apple for C++!
Date: Sun 10-Aug-1989 19:28:20 From: Unknown Subject: Re: C++ vs. "Objective C" bruceh@zygot.UUCP (Bruce Henderson) writes: >ak10+@andrew.cmu.edu (Andrew Joseph Kompanek) writes: >> First, is there an Objective C standard, either formal or informal? If not, >> what was NeXT's reasoning behind adopting Objective C? In any event, >> why wasn't C++ chosen? Its popularity is growing and more important, >> Stroustrup has defined the language formally. > >The main reason behind this is probably due to the fact that C++ is a >fairly recent beast. When work was begun on the NeXT and NeXTStep >(about 3 or so years ago) C++ was not really a consideration. > ... Thank goodness they at least picked a flavor of C! Besides, ObjC is alot cleaner than that disasterous hack called C++. C++ starts out looking wonderful, and it has alot of great concepts, but it is really infact a research project. The developers (Stroustrup et al) are off working on rahter bizarre "enhancements" while the core remains a twisted wreck. For example, there is no support for class objects. Well, there sort of is, but is is mired in more caveats than rules. For example, the operator stuff is a nightmare. For example, the implicit constructor stuff is mostly useful for useless objects: it is most usful for objects like ints and floats, but rather terrible for the typical objects which live forever. The activation/inactivation mechanism of ObjC is alot more useful for object oriented software. The constructor/destructor stuff is alot more usefule for archaic structured programs with specialized data types which are kinda like proto-objects. After putting my career and reputation on the line boosting C++ for an important project here at JPL, I think I've seen the good and bad side of it. C++ really isn't good enough. I don't use C++ anymore. I just do Object-Oriented designs and programs, but I use C as the implementation language. These object veneers are simply not necessary. Remember the early days of Structured Programming, when everyone said you had to use COBOL if you wanted structured programs? That was BS, and so is the current "conventional wisdom" that we need super-duper object oriented languages to do object oriented programming. C works. And it is very obvious what happens. >From: sg04@GTE.COM (Steven Gutfreund)
Date: Sun 11-Aug-1989 14:03:20 From: Unknown Subject: Re: C++ vs. "Objective C" In article <5547@jpl-devvax.JPL.NASA.GOV>, david@jpl-devvax.JPL.NASA.GOV (David E. Smyth) writes: > I don't use C++ anymore. I just do Object-Oriented designs and programs, > but I use C as the implementation language. These object veneers are > simply not necessary. This is an interesting comment. I think for some applications this might be fairly true. However, I tend to feel that if a person really is doing very exploratory work, he might miss the polymorphism of TRUE OO languages. Also, languages such as Smalltalk have a great library of things in the collection classes (dictionaries, sets, ordered collections) that might be tedious to reimplement. Can anyone list other things that might be lost in returning to straight C implementations?
Date: Sun 10-Aug-1989 13:46:00 From: Unknown Subject: Re: C++ vs. "Objective C" bruceh@zygot.UUCP (Bruce Henderson) writes: >The main reason behind this is probably due to the fact that C++ is a >fairly recent beast. When work was begun on the NeXT and NeXTStep >(about 3 or so years ago) C++ was not really a consideration. >Originally there was even a lot of talk about using Smalltalk as the >native software environment. Thank goodness they at least picked a >flavor of C! Up until recently the only people who had a good C++ >compiler [CFront] working was (believe it or not) Apple Computer Inc. I have been using reliable (though not bug-free) cfront compilers for several years. I've never used one by Apple. Smalltalk is my favorite language. I don't buy machines that don't run it. Current implementations are certainly slower than C++. There are also problems linking with other languages. However, Objective C messaging is no faster than Smalltalk messaging. The only speed improvement comes from having fewer messages. On the other hand, C++ is easy to make fast. >From: Alvin@cup.portal.com (Alvin Henry White)
Date: Sun 14-Aug-1989 23:03:00 From: Unknown Subject: Re: C++ vs. "Objective C" [C++ vs. Objective C] Actually, this same argument seems to be going on on the Mac Notes files. While I do not know NeXT's reason for picking it, I do know some of the advantages of Objective C. First there is a much stronger inheritance in Objective C. There are even tokens for using this inheritance (self and super). C++ seems to be missing these. Second, What seems to be C++'s advantage over Objective C,operator overloading, is completely documented by Stroushoup (or however you spell it :->) to not be used. Or rather, "used very very rarely". My first OO lingo was Objective C, but after training someone who knew C++, I realized that much of C++ object oriented flavor is really lacking. It is hard to explain, but the smalltalk messaging seems to encourage object oriented thinking while the C++ function calling still leaves people thinking in Structured programming. As far as messaging being slower, it is very easy to get around it and call all the messages directly. This is discouraged except where time will be sped up incredibly. (iterations of a thousand). This allows the function to be used as a normal function while still having an Object Oriented flavor. Michael Rutman Softmed >From: jpd00964@uxa.cso.uiuc.edu

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Marcel Waldvogel and Netfuture.ch.