Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!ucsd!swrinde!cs.utexas.edu!uunet!mcsun!sunic!dkuug!iesd!kasper From: kasper@iesd.auc.dk (Kasper Osterbye) Newsgroups: comp.lang.smalltalk Subject: Re: Processor objects vs. data objects Message-ID: <1989Sep6.092854.7308@iesd.auc.dk> Date: 6 Sep 89 09:28:54 GMT References: <57069@aerospace.AERO.ORG> <80500073@p.cs.uiuc.edu> Reply-To: kasper@iesd.auc.dk (Kasper Osterbye) Organization: Mathematics & Computer Science, University of Aalborg Lines: 38 In article <80500073@p.cs.uiuc.edu> johnson@p.cs.uiuc.edu writes: > >Russ Abbot asks about classes that model procedures, not abstract >data types. The best discussion I know on the topic is by Dan Halbert >and Pat O'Brien in the September '87 edition of IEEE Software. It is >called "Using Types and Inheritance in Object-Oriented Programs". >One thing to note is that by "type" they mean class. In my opinion, >a type is very different from a class, but that is about our only point >of disagreement. > >In general, operations should be implemented as methods, not as classes. >However, there are several places where it is reasonable to make them >classes. [Stuff deleted] > >Implementing operations as classes is the exception, not the rule. >You should only do it when the alternative is worse. However, there >are times when it is the best option. > >Ralph Johnson - University of Illinois at Urbana-Champaign In the Beta language they have unified methods and classes in a single construct called patterns. This seems to be the right way to solve this specific problem (or at least one way). For an introduction to the Beta language one can see ECOOP 88, or Wegner et al. "Research directions in Object oriented programming". One of the interesting aspect of this unification is that one gets inheritance for "methods" as well as for classes (Discussed in a paper at ECOOP 87 I believe). Kasper Osterbye, Aalborg Universitycentre, Denmark. -- Kasper Osterbye Internet: iesd!kasper@uunet.uu.net Institute for electronic systems UUCP: ...!mcvax!iesd!kasper Strandvejen 19, 9000 Aalborg DENMARK. (W) +45 98 13 87 88-285 (H) +45 98 37 30 65