Pensieri di un lunatico minore

28 August 2007 Erlang

Object-oriented Cheese

In an earlier posting I commented on the similarity between Alan Kay’s definition of “object oriented programming” and Joe Armstrong’s “concurrency oriented programming”, especially as instantiated by Erlang. Julian Doherty took exception with my perspective, and in a most amusing way. I think what we have is a failure to communicate.

What I was attempting to say is that COP and OOP shared a large overlap of concepts, not that OOP and COP were the same thing, or that one was a subset/superset of the other. All approaches encapsulate metaphor and support it through language design. While Alan Turing is right, that once you reach a certain point, anything is possible, different designs encourage and discourage different approaches. Edsger Dijkstra once said that “you can write FORTRAN in any language,” and he could not have been more true.

My attempt, conversely, was to find the intersection in metaphor between two languages, and their approach. They are substantially different, and yet, underneath, there are some similar metaphors: encapsulation, message passing, etc. As Alan Kay observed, it takes multiple metaphors to compose OOP, and Joe Armstrong used another set. The fact that they intersect does not mean they are the same.

Hopefully, this clarified it a bit. The Venn diagram tries to explain:

There. Clear as mud.

This entry was posted at 4:48 pm on 28 August 2007 and is filed under Erlang. You can follow any responses to this entry through the post-specific RSS 2.0 feed.

No comments found.

You can leave a response, or trackback from your own site.