Erlang a primitive language? (was Re: Multy-core CPUs)

Matej Kosik kosik at fiit.stuba.sk
Thu Oct 25 14:24:17 UTC 2007


Hi Frank,

Frank Shearar wrote:
> "Matej Kosik" <kosik at fiit.stuba.sk> wrote:
>> gruntfuttuck wrote:
>>> How is squeak going to handle multy-core CPUs, if at all? If we see
> cores of
>>> 100 plus in the future and squeak stay as it is, I would imagine other
>>> languages such as erlang, will look more attractive.
>> Anyone followed links that Andreas gave?
>>
>> http://www.erights.org
>>
>> ???
>>
>> There is a dissertation that addresses two fundamental problems:
>> - - it introduces synchronization mechanisms that are meant to escape
>>   from the situation where you
>>   - either have interference
>>   - or non-deterministic deadlock
>>   (Erlang does not solve these problems.
>>    The recent book about Erlang does not even mention the word "deadlock")
>> - - *security*
>>
>> It is a point-of-view-changing reading.
>>
>> It is true that it is far less mature for production quality, but taking
> ideas from something as
>> primitive as Erlang ... well, good luck.
> 
> Why exactly is Erlang primitive? What do you mean? Do you mean that it can't
> solve real-world problems?
> 
> It's proven itself in at the very least its original target market, that of
> the highly concurrent environment found in things like telephony switches.
> It certainly seems applicable in other highly concurrent environments. We're
> not talking about some new thought experiment - this is a language that was
> released in its open source form in 1998, and whose initial development
> started in 1986. There are case studies of _successful_ large systems
> (Ericsson's AXD301, in particular).

In what ways is Erlang better than E?
In what ways E cannot be extended to be as good as Erlang?

E  supports objet-oriented programming.
Erlang is not object-oriented.

Non-deterministic deadlocks cannot occur in E.
Non-deterministic deadlocks can occur in E.

E can be used for building open systems (where various parties can cooperate despite the fact that
they do not trust each other ultimately). Erlang does not provide such mechanisms.

E can be used for building systems internally composed from multiple untrusted components without
security risk because E provides mechanisms that enable programmers to follow with principle of the
least authority.
Principle of the least authority cannot be followed in Erlang. Any part of the Erlang system has the
authority to destroy the whole system and perform irreversible damage.

I do not say that E is perfect. I only believe that it is more valuable than Erlang (with respect to
future) and should not be demoted just because it is not popular. Of course, the more people use a
particular language, the bigger chance that it will ripe (to its full potential/but no further).
- --
Matej Kosik
ICQ: 300133844
skype: matej_kosik




More information about the Squeak-dev mailing list