Skip to content

Learn Elixir

The Only Elixir Tutorials On The Planet For Complete Beginners Exclusively On Octallium!

Introduction

Introduction to Elixir

Considering Elixir ? Or maybe just curious ? Chances are you already have some experience with programming or if you are a complete beginner, I couldn't be any more happy!

Before getting along with actual coding, let's get a couple of things straight, Elixir is not a silver bullet to all your problems, ever heard of Hammer Syndrome?

It implies that, "If you only have a hammer, then every problem looks like a nail!", but in the practical world things are very different, problems are various and in different domains. Then where would you use Elixir?

Scenario

Let's consider this, the world basically works by communication, communication is required in every aspects of life, products communicate their utility, services communicate their usability, consumer communicate their requirements, etc, and in this world of communication data is constantly being passed from one point to another.

Elixir is extremely well suited for these applications, it really shines when data has to be transformed and transferred in a highly concurrent, distributed and fault tolerant manner. Often, data has to be transformed to suit the end users, Elixir with all its eco-system is a perfectly capable system for it. Perhaps, that's why products like WhatsApp, Discord & Telecom sector rely so highly on it.

Understanding Elixir

Elixir is a functional programming language, the word functional is important as it does not have the concept of Objects or Classes and has immutable data types, if you come from a Object Orientated Language then you need to unlearn a lot of concepts in order to understand the functional paradigm.

Programming need not only be object oriented, functional programming is a beautiful way of thinking, also it takes away a lot of pain as you don't need to keep a track of the state of objects.

About Erlang/Elixir

Erlang/Elixir looks as if it has a cryptic syntax and functional programming makes them look difficult on the surface, but its really not the case, they are really great to work with and specially Elixir is designed to make developers feel happy.

We need to give it, other languages did a fantastic job of presenting themself in a much better way, also the amount of marketing, conferences, sponsorships, etc have really shaped them to be much popular and widely used. But being popular does not necessarily mean better, Erlang and Elixir really shines in what they do, perhaps they just need better marketing efforts.

What is Erlang, Elixir And Phoenix

Erlang/OTP is a concurrent functional programming language that forms the basic foundation, it was developed by Ericsson in 1986 and made open source in 1998. Erlang runs on its virtual machine called as the BEAM. OTP simply stands for Open Telecom Platform.

Elixir builds on top of Erlang and provides a nice and easy way of interacting with the underlying system. It provides abstraction over Erlang, so that its easier for developers to code and finally it compiles and runs on BEAM.

Phoenix Framework is a great set of tooling to create mature and blazing fast web applications, its based on Elixir and offers excellent framework to create highly scalable and concurrent distributed applications.

We would be more focused on Elixir & Phoenix, but keep it mind that finally everything is compiled and runs on the BEAM.

Elixir & Phoenix also has very good set of online documentation and the communities are also generally warm and helpful.

Let the magic begin!

Getting Help

Elixir has a set of very nice online documentation and guides.

Elixir Forum is an excellent place to post queries and interact with the community.

Please Consider a Donation ❤️

If you would like to see videos and articles coming up much faster then please consider a small donation. It needs your support and love to keep the activity sustainable.

Any support is genuinely appreciated, you can help by sending a small donation by clicking the below link:

Paypal