Elixir is a young programming language and it is gaining traction from year to year. Its strong and weak aspects will help explain its growing popularity.
Elixir Pros
Elixir has access to all Erlang features, which automatically contributes to its level of reliability and quality.
Functional programming means that it is possible to write accurate, but shorter code.
Those developers who have already tried programming in Elixir say that it feels great when they don’t have to choose between the development speed and performance. Elixir offers both and developers are happy with that.
In this case, OTP is not referred to telecom, but is used to build software that has some of the features of telecom applications (concurrency and fault tolerance). OTP is written in the Erlang programming language, which means that Elixir can also make use of its capabilities.
The Elixir language allows for the building of web applications with many stable connections. With this architecture, nodes are independent of one another and if an error occurs, there is no single point of failure.
Elixir is used to create web applications that receive a lot of traffic and thus have to be scalable in order to maintain the heavy load.
Backed by Erlang and OTP, Elixir is great for building apps with concurrent connections.
The documentation for Elixir programming is very informative and answers any question a developer might have.
Cons of Elixir
As Elixir is one of the newest programming languages, there is little talent in the market yet.
Elixir is not yet considered one of the most popular programming languages, which means that there is not enough community to actively develop it further. The number of libraries for Elixir is still limited.
Elixir can be difficult for experienced developers to switch to, as most of them code in object-oriented languages.
More details can be found here