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

  1. Path: sparky!uunet!charon.amdahl.com!pacbell.com!ames!agate!doc.ic.ac.uk!uknet!gdt!aber!aberfa!pcg
  2. From: pcg@aber.ac.uk (Piercarlo Grandi)
  3. Newsgroups: comp.object
  4. Subject: Re: FAQ  Part 1 (of 2) [ polymorphism or latent typing? ]
  5. Message-ID: <PCG.93Jan27183122@csthor.aber.ac.uk>
  6. Date: 27 Jan 93 18:31:22 GMT
  7. References: <1993Jan22.194636.4631@dec254.uucp>
  8. Sender: news@aber.ac.uk (USENET news service)
  9. Organization: University College of Wales, Aberystwyth
  10. Lines: 44
  11. In-Reply-To: hall@dec254.uucp's message of 22 Jan 93 19: 46:36 GMT
  12. Nntp-Posting-Host: thor.dcs.aber.ac.uk
  13.  
  14. >>> Regarding Re: FAQ Part 1 (of 2) [ polymorphism or latent typing? ];
  15. >>> hall@dec254.uucp (Phil Hall) adds:
  16.  
  17. Hall> In <PCG.93Jan20002119@decb.aber.ac.uk> pcg@aber.ac.uk (Piercarlo
  18. Hall> Grandi) expounds:
  19.  
  20. pcg> I would find it rather hard to agree with those who say that latent
  21. pcg> typing of variables is an essential aspect of an OO language, as
  22. pcg> IMNHO one can still apply the OO paradigm without it.
  23.  
  24. Hall> Without "latent typing" there really is very little to distinguish
  25. Hall> object-orientedness.
  26.  
  27. Uhmmm, I think this is too pessimistic, and the reverse may be truer.
  28. Weak/dynamic/latent typing is used to good effect also in many non OO
  29. languages, e.g. Lisp, and I think that it is not the discriminant for
  30. OO-ness; I think you have almost gotten there when you wrote later on:
  31.  
  32. Hall> I guess OO can be defined as: 
  33. Hall>       My superior method for clustering functions and data.
  34.  
  35. But not *any* superior method -- the OO method is _very_ specific and
  36. clearly defined. So I would think that you are not right on this:
  37.  
  38. Hall> I would argue that languages without late binding are better
  39. Hall> refered to as modular languages; OO is a more restricted paradigm.
  40.  
  41. Modular programming just states that better reuse is achieved
  42. clustering functions and data so that intermodule dependencies and
  43. connections are minimized, but does not give any guiding principle on
  44. how to achieve this.
  45.  
  46. The OO method is to put into a cluster/module/class one and only one
  47. type/mode/data representation definition and all and only the procedures
  48. that know its internal details.
  49.  
  50. Indeed from an abstract viewpoint a class is a module that only contains
  51. one data type and the related operations (this is what is achieved by
  52. default, for example, by the classic procedure/class and closure/object
  53. technology).
  54.  
  55. This is what uniquely distinguishes OO-ness, and whether the language is
  56. pointer based, has latent typing, is compiled, interpreted, interactive,
  57. batch, or whatnot is basically irrelevant.
  58.