Friday, November 09, 2007

OOP: Alan Kay

In "Dreaming in Code" on page 289, Alan Kay, the creator of Smalltalk and of the windowing paradigm, said, "I made up the term object-oriented...and I can tell you, I did not have C++ in mind." In fact, he said that the OOP that we see today is a bastardization of his original ideas.

One thing that he had in mind was that objects would be actors. An actor is an object + a thread + a message queue. Just imagine if each object had its own thread and they passed messages to each other asynchronously. This idea is gaining popularity these days in languages like Erlang, Scala, and Groovy. I like to say that what we have today is one employee (i.e. thread) wearing many hats (i.e. running the code for many objects) vs. one employee per hat.

For a while I've been intrigued by Alan Kay's thoughts on OOP. My buddy Mike Cheponis sent me this, Dr. Alan Kay on the Meaning of "Object-Oriented Programming".

Interestingly enough, the two OO-haters I know actually agree with Kay's original thoughts on OOP.


Dan said...

Sounds a lot like some flavours of agent-oriented programming.

Jim said...
This comment has been removed by the author.
Jim said...

Here's a working PURL for the Alan Kay page.

(who thought the whole PURL idea was so spiffy, anyway? ;p)