Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: Notesfiles; site ea.UUCP
Path: utzoo!watmath!clyde!burl!mgnetp!ihnp4!inuxc!pur-ee!uiucdcs!ea!mwm
From: mwm@ea.UUCP
Newsgroups: net.lang
Subject: Re: Gotos in programming languages - (nf)
Message-ID: <5400007@ea.UUCP>
Date: Wed, 6-Jun-84 23:20:00 EDT
Article-I.D.: ea.5400007
Posted: Wed Jun  6 23:20:00 1984
Date-Received: Mon, 11-Jun-84 00:17:58 EDT
References: <1979@mit-eddi.UUCP>
Lines: 31
Nf-ID: #R:mit-eddi:-197900:ea:5400007:000:1000
Nf-From: ea!mwm    Jun  6 22:20:00 1984

#R:mit-eddi:-197900:ea:5400007:000:1000
ea!mwm    Jun  6 22:20:00 1984

As promised, here is info from the SNot paper on data abstraction,
encapsulation and object oriented programming. The paper is:
'Data Abstraction, Data Encapsulation and Object-Oriented Programming,'
by A.T. Cohen (are you out there, A.T.?),  Sigplan Notices Vol 19, No 1,
pg 31.

His definitions:

"An object is a data structure together with a set of procedures that operate
on it."

Data encapsulation "localizes (and conceals) the details of an object."

To get data abstraction, "extend the idea of user-defined types to allow
user-defined capsule types."

"Programs in which all (logical) data structures are encapsulated are called
object-oriented."

He (?) then goes on to point out that support for object-oriented programming
is orthogonal to support for data abstraction, but languages that support
object-oriented programming usually support data abstraction, since they
complement each other.

As usual, any typos, mistakes, and problems with the above are undoubtedly
my fault.