Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!burl!codas!usfvax2!pdn!ken From: ken@pdn.UUCP Newsgroups: comp.lang.misc,comp.lang.smalltalk,comp.lang.c++ Subject: Re: C++ vs Objective-C Message-ID: <1406@pdn.UUCP> Date: Wed, 23-Sep-87 10:05:00 EDT Article-I.D.: pdn.1406 Posted: Wed Sep 23 10:05:00 1987 Date-Received: Sat, 26-Sep-87 08:42:22 EDT References: <3405@ece-csc.UUCP> <638@its63b.ed.ac.uk> <1811@watcgl.waterloo.edu> <270@nih-csl.UUCP> Organization: Paradyne Corporation, Largo, Florida Lines: 72 Xref: utgpu comp.lang.misc:657 comp.lang.smalltalk:312 comp.lang.c++:405 Summary: Yes, and what do you think will happen in that time In article <270@nih-csl.UUCP>, keith@nih-csl.UUCP (keith gorlen) writes: > Talking about what is do-able is pointless -- any language with the > power of a Turing machine can do anything, theoretically. The > question is what things does a language make it easy and pleasant to > do. C++ features such as strong type checking and references make it > a better C for those not doing O-OP... True, but why use either if you are not going to be using O-OP? > ...Features such as classes, > function and operator overloading, user-controlled implicit type > conversion, and guaranteed initialization/finalization make it far > better for programming with abstract data types than Objective-C or > Modula-2, for example. And derived classes and virtual functions make > C++ as good or better than Objective-C for O-OP. I believe I detect a bit of bias in this statement. Let's face it, Smalltalk is the "model of an OO language". (Please let's not start a discussion about how good/bad you think Smalltalk is). What PPI has tried to do is to allow you to use most of the advantages of Smalltalk while allowing you to speed up the final result (compiler vs. interpreter). To name just one feature that is missing from C++, Objective-C has the concept of "class methods" (i.e. Classes are treated like objects). Without getting picayune, Objective-C gives you a compiled version of Smalltalk (please, no flames from Smalltalkers -- I wouldn't trade Smalltalk for either, I'm just trying to make a point) -- C++ does not. I'm not saying that Objective-C is better than C++ (or vice versa), but I am saying that which is better can be greatly swayed by your frame of reference. > > I will mention though, that Objective-C has a source-level debugger > > for it, called Vici. > > What C++ currently lacks are the symbolic debugger and the extensive, > mature, supported class library that Objective-C has. But these are > just a matter of time. So does that mean I should use C++ now because some day I'll have a debugger and a healthy library to draw upon? It's just a matter of time until my thought patterns can be turned into words, and then programs -- does this mean I should stop typing!?! Anyone who knows anything about OOP knows that one of the great attractions of it is its idea of (as PPI calls it) "software ICs" which can be used over and over and be built upon. Anyone who has ever programmed knows the value of a debugger. I don't know about you, but most of the work I do has to be done in the present and not in the future. I choose to use the best tools that are available to me. I don't believe anybody (with the possible exception of a person in a university environment) can truly evaluate any language without evaluating what tools are available with the language. A language is just a vehicle to produce some product. The goal is the product, not the language. Therefore if the language (along with its tools) get that product completed earlier (and, might I add, with less frustration) than another, the language is superior. Once again, I'm not saying one is better than the other. The point is that one can not throw out certain features (tools) of the language in evaluating that language. One last point (take it or leave it) is that if/when C++ has the "symbolic debugger and the extensive, mature, supported class library that Objective-C has" now, what additional features might Objective-C have. -------------------------------------------------------------------------- Ken Auer Paradyne Corporation {gatech,codas,ucf-cs}!usfvax2!pdn!ken Mail stop LF-207 Phone: (813) 530-8307 P.O. Box 2826 Largo, FL 34649-9981 "The views expressed above do not necessarily reflect the views of my employer, which by no means makes them incorrect."