home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / object / 3553 < prev    next >
Encoding:
Text File  |  1992-09-15  |  2.5 KB  |  49 lines

  1. Newsgroups: comp.object
  2. Path: sparky!uunet!spool.mu.edu!wupost!m.cs.uiuc.edu!johnson
  3. From: johnson@m.cs.uiuc.edu (Ralph Johnson)
  4. Subject: Re: Why is garbage collecting considered intregral to OOPS?
  5. Message-ID: <1992Sep15.165046.27403@m.cs.uiuc.edu>
  6. Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL
  7. References: <15SEP199210250016@rosie.uh.edu>
  8. Date: Tue, 15 Sep 1992 16:50:46 GMT
  9. Lines: 38
  10.  
  11. st1lv@rosie.uh.edu (McLeod, Stephen) writes:
  12.  
  13. >Hi.  I'm boning up on OOPS right now and the book I'm using said that without
  14. >automatic garbage collection, it is not OOP/OOD.  Why is this the case?  The
  15. >book is rather unclear on this particular point.
  16.  
  17. First, most people don't think that g.c. is integral to OOP.  However,
  18. some people do, so the question still stands: why do some people consider
  19. g.c. integral to OOP?
  20.  
  21. This is a question that has intrigued me for some time.  The people who
  22. state in writing that g.c. is part of OOP are generally people that I
  23. respect (Bertrand Meyers and Dan Ingalls come to mind), so I don't just
  24. reject their comments out of hand.  However, it has always been hard for
  25. me to see why Object Pascal, Objective C, or C++ aren't object-oriented, 
  26. because the same design patterns that work well with Smalltalk or Eiffel
  27. also work well with them.  I have come to the conclusion (right or wrong)
  28. that people see g.c. as integral to OOP because g.c. makes software much
  29. more reusable, and reuse is a major motivation for OOP.  G.c. makes it
  30. much easier to think about objects as independent entities that control
  31. their own destiny.  It lets us abstract away from the low-level details
  32. of running programs.
  33.  
  34. I'm a big fan of g.c., and it clearly makes software easier to write
  35. and more reusable (unless you are writing real-time software), but I
  36. think it is not essential to OOP.  Of course, there really isn't a
  37. single standard definition of OOP, and some of the definitions vary
  38. widely.  Peter Wegner's definition (OOSPLA 88? 87?) is pretty widely
  39. used.  On the other extreme, the Scandinavian school defines
  40. object-oriented programming as writing a program that is a simulation.
  41. When I first saw that definition, I was completely bewildered, but as
  42. time goes on I like it more and more.  Although there certainly are
  43. lots of simulations that are not object-oriented, a good object-oriented
  44. design is a simulation of the system you are modeling, even (especially?)
  45. if the system is an artificial one.  So, the point is to be a little
  46. skeptical of everybody's definition.
  47.  
  48. -Ralph Johnson
  49.