Meyer, OO and concurrency

David Hopwood <>
Thu Jul 14 18:23:42 CEST 2005


Peter-Henry Mander wrote:
> Hi Gurus,
> 
> Sorry but I've got to stick my oar in.
> 
> I've found that modelling a OO system in Erlang recovers the original
> concept of objects as concurrent actors.

Almost, but:

  - Erlang does not garbage-collect processes when they are waiting
    unconditionally for a message that can never be sent.

  - Erlang Pids are forgeable, and it is possible to enumerate the Pids
    of all processes (which was prohibited in actor systems).

  - processes in Erlang implementations, although they are more lightweight
    than threads, are still a bit too heavyweight to be used in the same
    way as objects.

These are mainly implementation rather than language design issues,
although minor language/API changes would be needed to make Pids
unforgeable.

> I ask myself *why* has it taken soooo long to recognise the need for
> concurrency? But then again, the OO paradigm took a *very* long time to
> become mainstream.

Perhaps it is only because computer science is such a young field, that
we expect changes to be adopted quickly. In other fields, fundamental
changes in approach do take decades to become adopted, and it isn't
considered surprising.
See <http://international-lisp-conference.org/multimedia/allen-paper.pdf>.

-- 
David Hopwood <>




More information about the erlang-questions mailing list