I came across Elixir probably two years ago. But I started looking into the basics of it from the beginning of this year. Functional programming can be intimidating to people coming from an Object-Oriented paradigm or to new programmers. We must grasp the basic concepts of functional programming to efficiently learn and use a functional programming language like Elixir. Thanks to the modern and elegant syntax of Elixir we can spare the struggle of learning the syntax and focus more on the core concepts of the language. Before we start here's a nice documentary on Elixir.
Back to School
Elixir School is a good starting point for learning Elixir. It has very good official documentation also. We will find it on hexdocs. HexDocs contains the documentation of all the Elixir packages published on Hex, the package manager for the Erlang ecosystem. But we should start with Elixir School for now. For the fundamentals of the language like basic syntax, data types, control structure, functions, modules finish up to chapter 8. We should take our time and do not rush or skip anything. Here we will learn two of the most amazing features of Elixir - Pattern Matching and Pipe Operator. To help with our understanding so far the following video tutorial is recommended.
Besides learning the basics of the language it is imperative that we start learning about functional programming as well. It will definitely take time to get our heads around all of these. But with consistency and perseverance, we will get there. Just do not get overwhelmed and take in a little every day. Here's a must-watch video on functional programming.
We will get some basic ideas about functional programming from this video. It's only scratching the surface. There's much to know and internalize before being able to think functionally. For us who are coming from the object-oriented programming paradigm, it can be quite a hassle to reorient our perspective towards programming. But knowing some other programming language will surely help us understand Elixir better.
Why Elixir Matters?
To know that we should watch the following video. It's perfectly okay to skip this but it may motivate us for the upcoming journey.
That's it for the first step. That was a lot to take in. But it will be easier for you all to determine if we would like to advance further with Elixir after completing all the resources mentioned here. Feel free to explore the wonderful realm of functional programming. Hope to see you in the next post.