What is the use of Erlang and is it worth investing?

Possible duplicate:
Where is Erlang used and why?

What are the use cases for which Erlang is especially better than the main languages ​​and investment-friendly?

+4
source share
4 answers

Probably the biggest draw for Erlang is that it (for the most part) is always protected by the stream. With a limit on single-core processors, there is a big draw for parallel coding. This can be done in languages ​​like C ++ or Java with Threads, but it can be very difficult to get everything working without subtle errors.

Writing parallel code is much easier with Erlang, and although it may not have the sequential speed of other langauges, it is much safer, and you end up spending less time (and often not time) debugging complex parallel transfers.

As a concrete example, Erlang is very well versed in web interfaces. For reliability, Yaws can handle a huge number of concurrent sessions, and for speed, Misultin launches a request faster than any other web interface I've seen.

I would say that Erlang is worth the investment, because at least since it is a functional langauge, it makes you get used to writing good sequential code (the following language function templates)

+8
source

An ideal use case is a distributed system based on send / receive messages, for example. chat server or distributed key database. Erlang is based on the so-called acting model. An actor is a piece of code that listens for messages and responds. Each actor works in his own thread. Threads are very light compared to Java or pthreads. A message to an actor can make him send a message to another player, and so on. A message can also be part of the code. Erlang allows hot-swapping code without shutting down the system. You can also consider Scala and F # as alternatives, as they support the actor model at the library level and are truly public languages. Erlang does not support mutable variables.

+3
source

This is the one thing that sold it to my colleague:

Apache vs Yaws

Apache dies about 4,000 concurrent sessions. Erlang worked better at a much higher load (~ 90k). The idea is that as a functional language, Erlang can handle concurrency much better than imperative languages.

+2
source

Deployment vs. Instrinsic Merit

Like Ruby and Rails, Erlang has intrinsic strengths, but its deployment volume depends more on what is already written in it. The thing Erlang is currently using is RabbitMQ .

Topics with malware

In terms of inherent truth, Erlang's appeal is probably not so much for the language as for the framework based on the Actor Model and message passing, rather than shared-memory-concurrency.

Many of us are pretty sure that shared memory streams are the wrong way to introduce concurrency. It is too simple to visualize and test possible interactions, and it is possible that a program that previously worked started to work with an error, since it runs on equipment with more up-to-date concurrency, although the stream model and binary code have not changed at all.

+1
source

All Articles