[erlang-questions] "Erlang, the next Java"

Chris Wong chris@REDACTED
Fri Aug 10 19:22:00 CEST 2007

On Aug 10, 2007, at 4:43 AM, Kenneth Lundin wrote:

> I don't agree with you about the shortcomings, see below.
> Ericsson is a wordleading telecommunications company and stands  
> behind Erlang.
> It is true however that Ericsson is not marketing Erlang because
> Ericsson does not currently have sales and support of generic SW as a
> business case. But maybe that can change at least I hope that.

I agree.  That's precisely the problem.  i.e.,  no company is behind  
pushing the language to make it popular.  Ideally, we don't have to  
do that in order for a programming language to succeed (by popular  
votes).  I'm finding out that executives have a tough time swallowing  
something based on purely technical reasons.  They want insurance.   
Someone to support them if problem arises.  It's not in their core  
competency to build up expertise in how an Erlang VM works, for  
example.  (Just one of the many arguments...)  And they're cheap,  
they want a large community like Java and with free indirect support  
from Sun because Sun is totally committed to the Java platform.  I  
personally think this is lame because there are other languages used  
in a company successfully with less than such level of implied  
support behind it.

>>  Second, I heard a lot that distributed
>> Erlang doesn't scale in a large distributed environment with
>> thousands of machine.  I personally don't have any experience to
>> assert it one way or the other.
> Erlang's internal distribution mechanism (between Erlang VM's) was  
> not designed
> with the intention to support thousands of VM's communicating over the
> open internet. It was built to be used on a LAN with a relatively
> static number of VM's in a cluster (max 255 from the beginning, but
> that limit is removed now).
> Because of this there can be some problems with very large setups
> where thousends of VM's are connected simultaneously. It very much
> depends on what you do if it scales well.

I was reading the doc on this.  It's consistent with what you say  
here.  Basically, if you have to wait for thousands of Erlang nodes  
to establish communications with each other before you it can do  
anything, the whole will crawl to its knees when one node is down.   
Correct me if I'm wrong.

> Erlang's distribution protocol is based on TCP/IP with a handshake and
> marshalling layer on top of that.
> Erlang's distribution protocol can easily be changed to be carried
> over something else than plain TCP/IP. There is a plugin architechture
> to do this. Distribution over SSL is one example which is included in
> the Open Source release.
> Erlang is also a superior language when it comes to implementation of
> application level protocols carried over TCP, UDP or other transport
> protocols.

This is no difference from Java/C++. i.e., my company has already  
built that in Java/C++, for example.

>> Both have been used by anti-Erlang camp.  It makes it really hard to
>> advocate Erlang in a large company.  For example, in a large
>> ccompany, there is usually a large investment already to solve the
>> large distributed computing problem in Java or C++.  The usual
>> argument is that the tested and proven home-grown solution should be
>> used instead despite how much concurrency gain you'd have using  
>> Erlang.
> I am not aware of that Java or C++ has any built in distribution
> mechanisms that

No, Java/C++ doesn't have built-in distribution mechanism.  That  
actually makes it worse since a company would have already invested  
heavily in some kind of home-grown solution.

> scales well or better than Erlang. As long as there is a protocol
> (home grown or standard) implemented in Java or C++ there is no
> problem to use the same protocol from Erlang.
> What I mean is that you can't put something as a shortcoming for
> Erlang and then comparing it with Java and C++ where there is no
> distribution concept at all(comparable with Erlangs) built in.

So, if a company has already had home-grown solutions that scales  
better than Erlang's built-in distributed feature set, Erlang's  
builti-in distributed feature isn't a selling point any more.

>> It's a huge disappointment for me and a touch battle to fight.
> So what do you have to be dissapointed about when you compare with
> Java or C++? It can't be the distribution capabilities, can it?

It's not about the language.  It's the platform that's already built  
internal in a company.  If this was a new start-up, the decision  
would be easy. :-)

Generally, I'm not disagreeing with you at all.


More information about the erlang-questions mailing list