Erlang was invented at Ericssion by
Joe armstrong
& others to specifically meet the
then telecom giants requirements to have a highly scalabable/concurrent fault tolerant
systems. Erlang is largely functional concurrency oriented prorgamming language.
Even after being opensourced in late 1990 it was not very
popular as it lacked big corporate sponsorship &
was always considered a niche langauge.
Mid 2000s , need for internet scale ( where you may have 100Ks of concurrent users unlike
100s in enterprise software ) forced the programming community to reconsider Erlang.
The biggest evidence of this is WhatsApp where the core messaging
services are written in Erlang.
Functional programming paradigm existed since early 1950 but had remained confined to universities & academia.
Late 2000 saw a renewed interest in functional programming and corporates especially startups were open to adapting
functional programming in mainstream product development. While the interest in Erlang was on rise, people still had
concerns about Erlangs quirky syntax and lack of modern tooling.
Around 2010 , Jose Valim a core team member of Ruby on Rails team was working to improve the
performance of Rails which had challenges with its concurrency implementation.
As a solution to Rails concurrency issues, Jose valim ended up creating Elixir language.
Elixir while not a fully functional language like Haskell adapted the syntax & tools from
Ruby on rails but under the hood decided to use BEAM, the rock solid super concurrent virtual machine of Erlang.
Essentially with this Jose had solved two problems -> concurrency issus of Ruby, quirky syntax/lack of tools on Erlang.
So next time when you need to build highly distributed systems that need low latency (soft real time)
and high reliability, Elixir is the way to go.