Answer the question
In order to leave comments, you need to log in
Erlang and Scala
I recently studied Scala and became interested in Erlang.
I have read conflicting discussions on the Web, I would like to hear the opinion of people who have already encountered this dilemma.
What did you choose? Why?
Maybe someone has worked with Akka ? Does it make a full-fledged alternative to Erlang's distributed nodes?
Answer the question
In order to leave comments, you need to log in
Tried to work with both languages. The experience is small, but there is.
Scala (felt the Lift and Actors frameworks). An object-oriented language in general, well integrated with Java. On the face of some duality of the paradigm and an expanded range of concepts introduced into the language in connection with this.
I don't like traces, traditional for the JVM, of immense depth. The syntax is familiar, but la Java.
Branded feature: Actors is a language framework that simplifies work with distributed (or rather, distributed) tasks.
Erlang is an interesting high-level implementation of the functional paradigm. My sympathies are on the side of this language.
No global states, mutable variables, OOP redundancy, pure message passing. The developer is almost completely abstracted from the cluster node layer.
Javasts may find the syntax and purely functional programming style unfamiliar. It will take a little longer to get used to. Moderately encrypted traces.
Here is a rather interesting comparison between erlang and rock - the author started with erlang, and then looked at the rock. Perhaps a look "from the other side" will help you: wiki.rsdn.ru/thinking-in-erlang-vs-scala.ashx
You get used to erlanga traces very quickly, they are moderately detailed and always clearly localize the problem. Personally, I like erlang traces much more than java.
Erlang has a vibrant community. Scala has its own problems, perhaps temporary ones.
If Erlang's syntax confuses, look at Reia .
There was also an interesting Kilim project, an actor framework for Java, at one time, but I find it difficult to answer how alive it is.
We write in Scala and Erlang. I personally write in Erlang, you can read my opinion about this language here . In a nutshell, the language is not without rough edges, but on the whole it is quite good. I also tried
Skala , but I didn’t like it at all. The language is complex, it compiles slowly, there are many backups (manifests, etc.). As for Akka, these are poorly licked Erlang actors. Poorly licked, at least, because the actor can rest against I / O, thereby blocking all actors working on the same thread. In Erlang, all I/O happens through select/poll, so there is no such problem. In addition, Erlang evenly distributes processor time between actors, but the JVM cannot, simply because it was not created for this.
In conclusion, I note that even our Scala developers spit on Akka and prefer those old actors from Scala 2.8.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question