home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #3 / NN_1993_3.iso / spool / comp / object / 5101 < prev    next >
Encoding:
Internet Message Format  |  1993-01-28  |  3.7 KB

  1. Path: sparky!uunet!nwnexus!korona!pkron
  2. From: pkron@corona.wa.com (Peter Kron)
  3. Newsgroups: comp.object
  4. Subject: Re: Pros and cons of C++
  5. Message-ID: <21.UUL1.3#16216@corona.wa.com>
  6. Date: Thu, 28 Jan 93 10:51:24 PDT
  7. References: <C1G9H4.HsA@unix.portal.com>
  8. Organization: Corona Design, Inc., Seattle, WA
  9. Reply-To: pkron@corona.wa.com
  10. Lines: 68
  11.  
  12. > From: samantha@shell.portal.com (Samantha Atkins)
  13. > Subject: Re: Pros and cons of C++
  14. > Message-ID: <C1G9H4.HsA@unix.portal.com>
  15. >
  16. > [reference deleted]
  17. >
  18. > Hmmmm.  It seems to me that a couple of problems exist with all the static
  19. > type languages (compile time checking) that I am familiar with.
  20. > The first problem is that such languages require recompilation of any and
  21. > all affected code whenever the type hierarchy is reworked even if this 
  22. > results in no changes at all to the behavior of any objects in the application.
  23. > In practice for larger projects this is an unholy terror.  I may be wrong
  24. > but I thought that one of the blessings of OO was being able to refine a
  25. > design even with working code in the field with little or no impact.  
  26.  
  27. Exactly. Lots of work is going into environments to "protect" the
  28. programmer from this impact, without realizing the flaw you have cited.
  29. Even protected, the cost is large--complicated inclusion paths and
  30. dependencies, increased debug-cycle/build times. These are still real
  31. problems in real project environments.
  32.  
  33. > The second problem is related in that most such languages use type based
  34. > checking.  It seems to me that what we are really concerned with is:
  35. >     a) does this object understand the message we are sending?
  36. >     b) does its behavior conform to what we intended in response?
  37. > No object language I am aware of does a message based much less a decent
  38. > semantic based check.  So in what way has safety been assured really?
  39. > Only in that the type understands the message.  OK.  So if I want to get
  40. > the maximum flexibility I would probably tend to factor my class hierarchy
  41. > very highly with lots and lots of mix-in classes for every reasonable 
  42. > set of behaviors.  Then for working classes I would mix and match to 
  43. > produce just what I need.  Here we run into some sticky situations in that
  44. > not only would I need all these little mixins but I would also quite likely
  45. > need various equally abstract classes that represent various combinations
  46. > of them as my typing of say, parameters, is only class based and I want to
  47. > leave maximum flexibility and reuse in.  Now it seems pretty obvious to me
  48. > that over time I'm going to want to change this around or add more combinations
  49. > as I can't just declare the whole exponential mess right the first time.
  50.  
  51. I agree again. And if you don't get it right the first time you run afoul
  52. of the first problem you cited--rebuilding everything. That discourages
  53. making reasonable changes because of the cost involved. How are changes
  54. due to natural evolution of products going to be handled? How do we
  55. "rebuild the world" if it contains separate components made by different
  56. companies? I am skeptical that compile-checked mix-in classes will be
  57. able to handle it. Anyone know of a real-world success story?
  58.  
  59.  
  60. > Also we would have to contend with the unpleasant fact that all this churning
  61. > through this exponentially growing hierarchy takes real CPU time and resources
  62. > that eventually will get very seriously strained.
  63. > Am I going askew here or is it as it seems to me that so called strong typing
  64. > creates an untenable mess if you seriously attempt its use now and for the
  65. > future?
  66.  
  67. You're not askew in my coordinate-space.
  68.  
  69. > Comments?
  70. > Samantha Atkins
  71. > Object Enterprises
  72. ---------------
  73. Peter Kron                                          P.O. Box 51022
  74. Corona Design, Inc.                         Seattle, WA 98115-1022
  75. Peter_Kron@corona.wa.com
  76.  
  77.