Will Elixir give me everlasting life?
Team members: James Best
Project started: 4 May 2017
Technology used: Elixir, Erlang
Functional programming has been on my radar for a while now and so I am spending some time investigating this new programming paradigm by learning Elixir.
Elixir is a dynamic, functional language designed for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
I wanted to jump straight in and get to grips with basics of Elixir. I had a basic understanding of some of the main functional programming concepts and so got started straight away.
Installing Elixir is very simple on a mac using brew. The install gives you a range of tools. Including mix. Mix creates projects, compiles your code, runs tasks like testing and documentation and also manages your dependencies. It is pretty powerful!
Things discovered about Elixir:
- As with all functional languages, all data is immutable
- The Elixir standard library is vast and should be leaned on whenever possible.
- It is a very strong pattern matching system. If you are familiar with JS ES6 destructuring, then it is similar to this but much stricter
- It is built on top of Erlang and provides a nice interface to work with Erlang.
- Testing functional languages is a lovely experience
- The ex_doc package for Elixir is absolutely amazing!
I am super excited to continue learning Elixir so watch this space. I will probably write some blogs posts too.