[erlang-questions] Erlang and Akka

Giovanni Giorgi jj@REDACTED
Wed Aug 27 11:34:12 CEST 2014


Hi, I am working in Java (I am a 15 years old java Consultant by the
way) and in my humble opinion comparing Akka and Erlang is like
comparing apple and oranges. 

Anyway the questions I will do to myself will be: 

Team know-how
For instance if I must set up a 60 pepole team, where can I find the
guys easier? Using Akka or Erlang? I do not think there are a very large
base of Akka experts out of there. 

Developement benefits 

Erlang immutable state is a big hit in the long run.
On the other way, Java isolation is very strong. With OSGi frameworks
you can even run different version of the SAME library side by side. For
instance, new version of Eclipse can run in "compatibility mode" older
plugin (with an old API).
Also if a eclipse plugin crashes, the ide will not crash. 
Also JVM stability is very high.
For this point of view, IBM has put in Java a lot of its know how about
its experience as system-integrator. 
But do not need Java integration capability, Java could be a pain 

Performance: a tricky path 

Erlang scheduler is a plus in my opinion because it maximize resource
usage even if your code is not very optimized: in Java/Ruby/PHP/Python
this is simply not true and you will need to put a lot of effort to get
similar performance. 

 About garbage collection: Java is very strong in this area. Also the
new G1, a low latency GC works very well: I use it on my IDEs to reduce
GUI freeze. Anyway it is still not production ready (at least on jdk 1.7
you get core dumps from time to time). 

Remember "old HotSpot GC" is very powerful out of the box: a 1GB RAM app
server can be tuned easily to avoid full GC /for days/, because
increment GC are "just fine" for the day by day processing.
With very huge heaps (hundres of GBs) you can have problems, and Red Hat
is pushing a new implementation to ovrecome this. 

I do not know how much erlang is strong in this area so: do an ad hoc
benchmark on your use cases on raw speed and troughput.

Library availability 

Java ecosystem is big. In my opinion too big. If you have the right tool
in erlang, give a plus to erlang.
The reason is simple: SpringFramework is very very complex. 
IoC will slow down your developement, and I am not sure will pay its
So avoid all the hipe around Spring if you do not think you need it. 

When I search for erlang clients for some server I use, I find it with
no problem, so I think Erlang ecosystem is quite mature. 

Again, look at your use cases. 

My two cents :) 

Il 2014-08-26 23:20 Jesper Louis Andersen ha scritto: 

> On Tue, Aug 26, 2014 at 9:34 PM, Youngkin, Rich <richard.youngkin@REDACTED> wrote:
>> Akka has been proposed as an alternative to Erlang.
> What are the arguments for Akka, as opposed to the arguments for Erlang? 
> Library availability is definitely a valid concern. Yet, any library in any language will have errors and mistakes. A good point about Erlang is that the occasionally bad library tend to hurt your program less for the simple fact that proper isolation saves the day.
> -- 
> J. 
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions [1]


[1] http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140827/ad490e76/attachment.htm>

More information about the erlang-questions mailing list