Thinking in FP vs OOP for large scale apps => Re: [plt-scheme] Imperative programming : missing the flow

From: Matthias Felleisen (matthias at
Date: Wed May 16 17:08:46 EDT 2007

On May 16, 2007, at 2:52 PM, Shriram Krishnamurthi wrote:

>> The point which I didn't express was that the notion of maintaining a
>> state within a 'module' that is exposed via an 'interface' is
>> something that seems to be a commonality among OO and modules/units.
> Yes, but as you know, correlation is not causality.  I'd say the
> pleisomorph you're looking at originates with the description of
> Abstract Data Types (ADTs) -- which are one of the the most mis-taught
> topics in introductory computer science -- and the work on ADTs is the
> ancestral work of the instances you're looking at.

The OO concept predates ADTs from what I can tell by several years.
When I started reading on ADTs in 1979/80  I think the idea was
that they could explain notions such as the 1965/66 OO programming
and Hoare's data types etc. The IBM tech rpts I saw are from the
very late 60s and early 70s.

The notion of an interface though is probably due to Parnas's 72 paper.

-- Matthias

Posted on the users mailing list.