When there is need for high performance, scalability and availability of applications by using the parallelism that current hardware can offer, Erlang is on the table. It uses its own virtual machine, called BEAM. So in this aspect it is quite similar to Java and to most modern interpreted languages. They all use their VM under the hood. Erlang is functional and uses its own processes, which can be better understood by thinking of actors rather than of OS-level processes or threads. Communication between these Erlang processes is done by messages.
Since the JVM has become very popular in the IT world due to its maturity, diffusion and the knowhow in running it, there has been demand for better JVM programming languages than Java, which has lead to developments like Scala, JRuby, Clojure, Groovy, Ceylon and a few dozen more.
Elixir now brings the same idea to the Erlang world. The language is still Alpha and we will see were it will go. But the basic idea is having a Ruby-like syntax, some concepts and ideas from Clojure and off course the possibilities and paradigms from the Erlang world combined. So again it is possible to run many Erlang- or Elixir-processes and let them communicate via a highly efficient messaging system.
It will be interesting how this will compare to Erlang itself and to JVM-based solutions like the Akka-framework with Scala in terms of performance and stability.
Schreibe einen Kommentar