What is Elixir Programming Language 1

Functional programming language Elixir: Pragmatic and easy to learn

The functional programming language Elixir is geared towards concurrency. It is dynamically typed, uses a Ruby-based syntax and is still quite new - Version 1.0 was released in September 2014. The Elixir compiler generates Erlang bytecode. There is one hundred percent compatibility: Erlang-Code can be used from Elixir without any problems and vice versa. This also applies to all language libraries. As a result, Elixir benefits from the Erlang ecosystem and at the same time inherits numerous runtime advantages through the Erlang base.

The basis of every Elixir system are actuators. The theoretical actuator model was created independently of the implementation in the Erlang runtime, which is why many terms unfortunately differ in theory and practice. Actuators are each completely independent runtime components that do not share any state with other actuators. Communication is based on messages.

For this purpose, each actuator has an input queue in order to collect all messages from other actuators for later processing. The subsequent sequential processing of the messages makes programming easier, since parallel processing does not have to be taken into account in the code. Only exactly one message is processed at a time within an actuator. To scale the overall system, the respective program must start additional actuators. Since communication only works via messages, it is not necessary to run the actuators on the same system so that they can communicate with one another. Distribution over any number of computer systems is possible without any problems.