🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #4990

Re: Software ICs (long! was Re: C++ vs Objective-C)

#4990
From: John Baugh
Date: Mon, 09 Nov 1987 18:59
33 lines
2552 bytes
In article <4398@well.UUCP> mitsu@well.UUCP (Mitsuharu Hadeishi) writes:
...
>	I would like to add, it is also because of the lack of object-
>oriented design of the libraries themselves.  When someone writes code
>that depends on the specific internal representation of an object, rather
>than its interface, it makes it difficult if not impossible to change those
>libraries or to improve their implementation.  

You've recognized the benefits of *data abstraction*.  By *specifying* an
abstract data type and the semantics of its operations (and requiring that
your clients know only this information), you effectively encapsulate the
internal data representation and the implementation of its associated
operations.  As a result, I (the implementor of the ADT) can change either
the internal representation or the operations in any way such that the
specification of the ADT holds (and *guarantee* that users of my ADT will
see no change in the new implementation, other than perhaps speed).

Back to the library problem.  The problem is not their lack of object-
orientedness (whatever that is :-), but that they are based on functions
instead of ADTs.  I contend that MODULA *modules*, CLU *clusters*, ADA (tm)
*packages*, etc. can be just as effective in accomplishing what you have
described.  Polymorphic functions, which are (partially) supported in only
one of the above, however, can be useful in building libraries (as noted
earlier in the discussion).  Math libraries, for example, (should) have
zillions of internal representations for matrices, and its nice to avoid the
'matmulhyper' syndrome required to multiply hypermatrices.

John Baugh (jwb@cive.ri.cmu.edu)
Carnegie Mellon University
-- 

%%%%%   John Baugh		Department of Civil Engineering   %%%%%
%%%%%   jwb@cive.ri.cmu.edu	Carnegie Mellon University        %%%%%
Technical Details
Message-ID: <331@PT.CS.CMU.EDU>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!udel!rochester!PT.CS.CMU.EDU!CIVE.RI.CMU.EDU!jwb
References: <3405@ece-csc.UUCP> <638@its63b.ed.ac.uk> <1811@watcgl.waterloo.edu> <3179@ames.arpa> <1662@ppi.UUCP> <4398@well.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!bloom-beacon!gatech!udel!rochester!PT.CS.CMU.EDU!CIVE.RI.CMU.EDU!jwb
From: jwb@CIVE.RI.CMU.EDU (John Baugh)
Newsgroups: comp.lang.misc
Subject: Re: Software ICs (long! was Re: C++ vs Objective-C)
Message-ID: <331@PT.CS.CMU.EDU>
Date: Mon, 9-Nov-87 13:59:19 EST
Article-I.D.: PT.331
Posted: Mon Nov  9 13:59:19 1987
Date-Received: Wed, 11-Nov-87 06:51:50 EST
References: <3405@ece-csc.UUCP> <638@its63b.ed.ac.uk> <1811@watcgl.waterloo.edu> <3179@ames.arpa> <1662@ppi.UUCP> <4398@well.UUCP>
Sender: netnews@PT.CS.CMU.EDU
Organization: Carnegie-Mellon University, CS/RI
Lines: 33