[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Jun 29 00:36:58 1993 
Subject:Re: Opposed views on the nature of OOP diagnosed 
From:Aaron Sloman 
Volume-ID:930629.02 

lagrone@dseg.ti.com (David LaGrone) writes:

> Organization: Texas Instruments Incorporated, DSEG HRD Computer Systems Training
> Date: Mon, 28 Jun 1993 18:15:22 GMT
> ....
>   I don't discount that inheritance makes a contribution to this; however,
>   my point is that I don't believe that I get as much lift from inheri-
>   tance as I do from abstraction...and I believe that I can build my
>   abstraction without inheritance.  (NOT that I necessarily WOULD!  But,
>   I could.)

And you don't need an OOP language to give you support for
abstraction. It's a requirement for *any* well structured language
providing user-defined datatypes. (E.g. ML ?)

Good support for inheritance (especially multiple inheritance
combined with multi-methods) is much harder to provide: the main
*lift* it provides is re-usability of the same code for different
data-types. Without proper support for inheritance, it's hard, for
example, to make a single change to the structure or behaviour of a
high level class knowing that the corresponding changes will be made
automatically to all the descendants. So you have to propagate the
changes by hand, i.e. re-writing all the special cases. That's a
recipe for error and inconsistency.

A nice example is provided by the paragraph formats in FrameMaker:
they allow you to do a certain amount of abstraction (i.e. define
your own special paragrph formats). But because they lack
inheritance it is a *real pain* to do certain sorts of style
changes: several different format definitions may have to be
changed separately by hand. If a proper inheritance mechanism were
provided one high level change would suffice (e.g. changing from
Times to Helvetica for a group of related paragraph formats.)

Aaron



Aaron
--
Aaron Sloman,
School of Computer Science, The University of Birmingham, B15 2TT, England
EMAIL   A.Sloman@cs.bham.ac.uk  OR A.Sloman@bham.ac.uk
Phone: +44-(0)21-414-3711       Fax:   +44-(0)21-414-4281