home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.next.misc
- Path: 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
-
- 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
-