|
|
|
|
|
by cloogshicer
1113 days ago
|
|
God, this is again one of those CS papers that is written as if it's trying to be as inscrutable as possible. Can't the author lead in by giving a simple example of both abstract data types and objects (as he understands the terms), in a well-known programming language? |
|
The core of the distinction is well-summarized with this paragraph from page 7:
> This difference is fundamental: abstract data types have a private, protected representation type that prohibits tampering or extension. Objects have behavioral interfaces which allow definition of new implementations at any time.
The other big difference is brought up on page 10 with respect to the "Expression Problem". It is easier to add operations to ADTs than representations, and easier to add representations with objects than operations. Though this pretty clearly relates back to the quote I provided. (And as he notes this has been solved in various ways in various languages and systems over the years; he's discussing this more from a "pure" ADT/object perspective.)