Recently I came across a language called Elixir which is based on Erlang VM. Erlang is built by Ericson for it’s telecommunication architecture in the late 1980’s. It’s very solid, fault tolerant and highly concurrent. I delved into Golang in recent times and I also built httpbin.org clone in Go which you can find it here. The thing with Go is, I find it very unpleasant to code in. So, I was checking about any other concurrent languages and I found about Elixir and I found it awesome because the syntax doesn’t seem very unfamiliar and it runs on Erlang VM which I know about before Elixir. So I started getting into Elixir.
Elixir is a functional programming language, so it’s difficult for me to get into that mindset at first. I think now I appreciate how powerful pattern matching is. I am still learning it and I would say it takes some time for me to think totally in this mindset, but I like what I see and some gut feeling of mine is saying that this would be the next big thing.
Ruby became a mainstream language from an obscure language because of the Ruby on Rails framework and I think Elixir will become mainstream because of the awesome Phoenix framework. It looks like Rails but I don’t think they are similar at all. The main selling point of Phoenix would be it’s channels which makes realtime applications a breeze to build. It’s nearly performant as Go and I think it’s very easy to do concurrent programming in Elixir than Go due to the ‘everything-is-immutable’ nature of Elixir.
Fortunately I got an opportunity to work on Elixir/Erlang at Work and I seriously hope that Elixir/Erlang would become mainstream because they are awesome. If you want very concurrent, performant, fault tolerant, stable platform please checkout Elixir/Erlang.