Article View: comp.sys.next.misc
Article #3878Re: Why, Why, WHYYYY?? USE OBJECTIVE-C for IB??
From: nevin
Date: Tue, 17 Nov 1992 22:07
Date: Tue, 17 Nov 1992 22:07
68 lines
3971 bytes
3971 bytes
In article <1992Nov17.000924.8898@u.washington.edu> basiji@stein.u.washington.edu (David Basiji) writes: > thomsen@spf.trw.com (Mark Thomsen) writes: > > >Richard D Warner writes: > >> I'm a developer who just wants to get a product out the door, and > >> I'm frustrated about having to learn a new language just to interface with > >> IB. I know you're supposed to be able to insert ANSI or C++ code into IB > >> but I haven't been able to yet. You still need to know what's going on > >> with the implementation files (in Objective-C). It's supposed to > >> be "easier", but easier than what??? Why doesn't NeXT come up with a > >> version of IB written for C++? If you *really* want to know WHY, I suggest you read at least the first half of Brad Cox's book, "Object-Oriented Programming, an Evolutionary Approach, 2nd Edition". To summarize: I don't care what anybody says (even Brad Cox got this one wrong in his book), C++ does NOT allow true dynamic binding-- it simulates it with a method selection mechanism where the desired method is dynamically chosen from a method list that is statically-built at compile time (i.e., the "virtual" method mechanism of C++). And yes, there is a very big difference, with many ramifications. I'm getting a little tired of explaining what the Objective-C approach promises for future systems, and how C++ does not provide the same promise of flexibility. We have only begun to tap the possibilities of what the Objective_C approach can provide, consequently at a first superficial glance, it only looks different-- not better. But it IS better-- in ALMOST every way (there's a couple of exceptions-- one is related to the run-time overhead required by the run-time system that is required for a true dynamic binding system, and there is no way around this). To abandon it would, in my opinion, seriously jeapordize the future promise of NeXTSTEP. The best approach is the approach that NeXT has taken (again, in my opinion), whereby if you really insist, you can also write C++ code on the machine. For C++ to provide the same flexibility, it would HAVE to implement a similar run-time system as required by Objective-C. And, it is not designed to support a similar run-time system-- you would either have a slower run-time system than Objective-C provides, or you would have to throw some language features of C++ away. However, with the continual hardware advances, I admit that the day may come where a slower run-time system that a patched C++ would provide (with true dynamic binding, without giving up any other of the current C++ language features) would no longer be a factor. Also, the flexibility that true dynamic binding provides is, in my opinion, a key component of efficiently exploiting parallel processing on future systems, regardless of who provides those systems. Believe me, NeXT made the right choices on this, and this will become more and more apparent as time goes on. So far as the current popularity of C++, I would like to point out that Windoze is also the most popular GUI on the planet, but do I care? Give me NeXTSTEP! -- Nevin Pratt, Digital Technology, Int'l Orem, Ut NeXTmail preferred, but ONLY at my REAL email address: nevin@dtint.dtint.com -- --- root root@dtint.dtint.com Digital Technology Int. (801)226-2984 500 W. 1200 South, Orem UT, 84057 FAX (801) 226-8438
Technical Details
Message-ID:
<1992Nov17.220734.23489@dtint.uucp>Path:
arc1-ca.pugleaf.net!sparky!uunet!dtint!usenetReferences:
<1992Nov17.000924.8898@u.washington.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.next.misc Path: arc1-ca.pugleaf.net!sparky!uunet!dtint!usenet From: nevin@dtint.dtint.com Subject: Re: Why, Why, WHYYYY?? USE OBJECTIVE-C for IB?? Message-ID: <1992Nov17.220734.23489@dtint.uucp> Sender: usenet@dtint.uucp Reply-To: nevin@dtint.dtint.com Organization: Digital Technology, International References: <1992Nov17.000924.8898@u.washington.edu> Date: Tue, 17 Nov 92 22:07:34 GMT Lines: 68