home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / sys / next / misc / 22082 < prev    next >
Encoding:
Text File  |  1992-11-17  |  3.8 KB  |  81 lines

  1. Newsgroups: comp.sys.next.misc
  2. Path: sparky!uunet!dtint!usenet
  3. From: nevin@dtint.dtint.com
  4. Subject: Re: Why, Why, WHYYYY?? USE OBJECTIVE-C for IB??
  5. Message-ID: <1992Nov17.220734.23489@dtint.uucp>
  6. Sender: usenet@dtint.uucp
  7. Reply-To: nevin@dtint.dtint.com
  8. Organization: Digital Technology, International
  9. References: <1992Nov17.000924.8898@u.washington.edu>
  10. Date: Tue, 17 Nov 92 22:07:34 GMT
  11. Lines: 68
  12.  
  13. In article <1992Nov17.000924.8898@u.washington.edu>  
  14. basiji@stein.u.washington.edu (David Basiji) writes:
  15. > thomsen@spf.trw.com (Mark Thomsen) writes:
  16. > >Richard D Warner writes:
  17. > >>     I'm a developer who just wants to get a product out the door, and
  18. > >> I'm frustrated about having to learn a new language just to interface with
  19. > >> IB.  I know you're supposed to be able to insert ANSI or C++ code into IB
  20. > >> but I haven't been able to yet.  You still need to know what's going on
  21. > >> with the implementation files (in Objective-C).  It's supposed to
  22. > >> be "easier", but easier than what???  Why doesn't NeXT come up with a 
  23. > >> version of IB written for C++?  
  24.  
  25. If you *really* want to know WHY, I suggest you read at least the first half of  
  26. Brad Cox's book, "Object-Oriented Programming, an Evolutionary Approach, 2nd  
  27. Edition".
  28.  
  29. To summarize: I don't care what anybody says (even Brad Cox got this one wrong  
  30. in his book), C++ does NOT allow true dynamic binding-- it simulates it with a  
  31. method selection mechanism where the desired method is dynamically chosen from  
  32. a method list that is statically-built at compile time (i.e., the "virtual"  
  33. method mechanism of C++).  And yes, there is a very big difference, with many  
  34. ramifications.
  35.  
  36. I'm getting a little tired of explaining what the Objective-C approach promises  
  37. for future systems, and how C++ does not provide the same promise of  
  38. flexibility.  We have only begun to tap the possibilities of what the  
  39. Objective_C approach can provide, consequently at a first superficial glance,  
  40. it only looks different-- not better.  But it IS better-- in ALMOST every way  
  41. (there's a couple of exceptions-- one is related to the run-time overhead  
  42. required by the run-time system that is required for a true dynamic binding  
  43. system, and there is no way around this).
  44.  
  45. To abandon it would, in my opinion, seriously jeapordize the future promise of  
  46. NeXTSTEP.  The best approach is the approach that NeXT has taken (again, in my  
  47. opinion), whereby if you really insist, you can also write C++ code on the  
  48. machine.
  49.  
  50. For C++ to provide the same flexibility, it would HAVE to implement a similar  
  51. run-time system as required by Objective-C.  And, it is not designed to support  
  52. a similar run-time system-- you would either have a slower run-time system than  
  53. Objective-C provides, or you would have to throw some language features of C++  
  54. away.  However, with the continual hardware advances, I admit that the day may  
  55. come where a slower run-time system that a patched C++ would provide (with true  
  56. dynamic binding, without giving up any other of the current C++ language  
  57. features) would no longer be a factor.
  58.  
  59. Also, the flexibility that true dynamic binding provides is, in my opinion, a  
  60. key component of efficiently exploiting parallel processing on future systems,  
  61. regardless of who provides those systems.
  62.  
  63. Believe me, NeXT made the right choices on this, and this will become more and  
  64. more apparent as time goes on.
  65.  
  66. So far as the current popularity of C++, I would like to point out that Windoze  
  67. is also the most popular GUI on the planet, but do I care?
  68.  
  69. Give me NeXTSTEP!
  70.  
  71. --
  72. Nevin Pratt, Digital Technology, Int'l    Orem, Ut
  73. NeXTmail preferred, but ONLY at my REAL email address: nevin@dtint.dtint.com
  74.  
  75. -- 
  76. ---
  77. root                                   root@dtint.dtint.com
  78. Digital Technology Int.                (801)226-2984    
  79. 500 W. 1200 South, Orem UT, 84057      FAX (801) 226-8438
  80.