[erlang-questions] Re: OOP in Erlang

Jesper Louis Andersen <>
Sat Aug 14 22:56:13 CEST 2010


On Sat, Aug 14, 2010 at 8:17 PM, Dave Smith <> wrote:
> It wasn't my intention to try to define OO.  Those of us who work in
> industry feel we know what a peer is talking about when he uses the term
> (irrespective of what was in Allan Kay's head when he coined the term 40
> years ago).

Beware of OO having a too specific meaning. Like most CS nomenclature,
it is not well-defined. In particular, one should always keep in mind
the rant by Jonathan Rees:

http://www.paulgraham.com/reesoo.html

Even if you know of what you speak about among your peers, it is good
to have this as a perspective. It somewhat amazes me nobody has linked
to the rant yet, as it seems very valuable as an input to the
discussion.

Personally, I try to avoid the OO term because of its vague meaning.
Instead, I try to define the parts that make up OO in diferent
languages and use them. Java for instance has a class-type system with
explicit subtyping relations. Erlang is defined by isolated processes
and message passing among them. And so on. If there is a mistake made
in language theory, then it is precisely the lack of mathematical
nomenclature and rigor.

OO is more of a philosophical statement about how to structure
programs and is a mighty fine example of a bug-ridden, informal, and
weak notion. The devil is in the details - how you achieve and support
the philosophy. I claim that we might take different paths in
different languages, but in general end in the vicinity of the OO
philosophy. Herein lies my hypothesis: because there are more than one
path to the goal, the OO term will keep being vague. Hence I try to
abstain from its use.

End of rant.

-- 
J.


More information about the erlang-questions mailing list