home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / lang / objectiv / 510 < prev    next >
Encoding:
Internet Message Format  |  1992-09-02  |  2.3 KB

  1. Xref: sparky comp.lang.objective-c:510 comp.lang.c++:13226
  2. Newsgroups: comp.lang.objective-c,comp.lang.c++
  3. Path: sparky!uunet!stanford.edu!leland.Stanford.EDU!jessica.stanford.edu!kocks
  4. From: kocks@jessica.stanford.edu (Peter Kocks)
  5. Subject: Re: Objective-C vs. C++
  6. Message-ID: <1992Sep2.203408.28404@leland.Stanford.EDU>
  7. Sender: news@leland.Stanford.EDU (Mr News)
  8. Organization: Academic Information Resources
  9. References: <1992Aug25.142415.7762@uc.msc.edu> <92238.232226MKK2@psuvm.psu.edu>
  10. Date: Wed, 2 Sep 92 20:34:08 GMT
  11. Lines: 37
  12.  
  13.  
  14. In article <1992Aug25.142415.7762@uc.msc.edu>, andy@uh.msc.edu (Andrew
  15. Hollenbeck) says:
  16.  
  17. >I've used C++ and would like to know what distinguishes Objective-C from C++.
  18. >The Objective-C FAQ (Q6/A6) only indicates features that C++ contains that
  19. >Objective-C lacks.  What features of Objective-C make it "better"?
  20. >
  21.  
  22. LATE BINDING!!! is one very important feature of Obj-C, which is not
  23. defined in C++.  In C++ you must do late binding on the os level (like
  24. resource forks on the Mac) or extend the language for a particular
  25. compiler (like the DDL libraries of MS). 
  26.  
  27. Why is this so important?  Because a truly object oriented working
  28. environment (eg one where objects can be added or subtracted by the
  29. user of an application) requires that the application not know all the
  30. detials of the objects used by the appilcation before compiling.  MS
  31. gets around this problem with DDL libraries, but this only works for
  32. systems and compilers which can use those libraries.  Obj-C does late
  33. binding by default.  You can write an application in Obj-C and make
  34. use of late binding and then bring it to another os and recompile and
  35. still have late binding.  If you use C++ you will have to do a lot
  36. more tailoring to the native os.  
  37.  
  38. This may seem like a somewhat minor point, but I think it extremely
  39. important.  As user environments become more and more object oriented,
  40. it will be increasingly important to develop custom objects.  In C++
  41. you will have to write the object and then either relink the
  42. application or use something like a DDL library.  If you do the later,
  43. as I suspect many people will do.  Then when you go to a Mac you will
  44. have to completely rewrite the object again.  If you had used Obj-C
  45. you may need to make some minor modifications, but going between
  46. enviroments would be comparatively easy.
  47.  
  48. --Peter Kocks
  49.   kocks@chemistry.stanford.edu
  50.