Elixir is a programming language that makes building web applications fast and easy. Large corporations like IBM, WhatsApp, and Ericson have been applying it for years to implement robust distributed network services. The language can handle high-load and is resistant to failures, which makes it perfect for creating back end services.
If you’re interested in web development, you cannot go without learning this language and its partner – the Phoenix framework. In this post, you will find a curated list of materials that will help you learn a functional programming language Elixir.
Books
These books can be an excellent introduction to the world of functional programming in Elixir.
“Joy of Elixir” by Ryan Bigg
Joy of Elixir introduces you to Elixir in a gentle way. Usually, the authors of Elixir tutorials suppose that this is not your first language and build their books around this understanding. However, Joy of Elixir works even for those who have little programming experience.
In this tutorial, you will find the fundamental concepts of programming in Elixir. It will also teach you the essential things about programming and computer science in general. The book is nicely written and is a real pleasure to read. If you’re intimidated by computer science or Elixir in particular, Joy of Elixir will help you to overcome these fears.
“The Ultimate Guide To Elixir For Object-Oriented Programmers” by Bruce Park
If you come from an OOP background and interested in Elixir, it might be hard at first. However, this guide is aimed at facilitating your transition to the functional programming paradigm and Elixir. It allows you to rely on your knowledge of Ruby or Python while learning new concepts and tools.
The book starts with an explanation of terminology that you’re going to need on your way. Then, you’re going to discover the enum module, the list module, the map module. After that, you will be moving to work with conditionals, types, and comprehensions.
Other topics covered in this book are cover strings, documentation, the kernel module, protocols, guards, IO and files, and building a random image CLI loader. The book ends with error handling.
As you can see, you will be able to grasp the main tools of Elixir out of a single book. Later, you can proceed to apply what you have learned or focusing on particular areas where Elixir is used.
Introducing Elixir: Getting Started in Functional Programming by Simon St.Laurent
This book will teach you to write simple Elixir programs step by step. It introduces you to the world of fundamental FP concepts on the example of Elixir. Once you are done with pattern matching, process-oriented programming, and other terms, you will be explained how to apply them to real-life projects. Elixir makes it easier to build concurrent and resilient programs that scale up and down with ease, but to get started with this work; you need to get a strong command over this language first. You will be able to delve into the heart of Elixir with recursion, strings, lists, and higher-order functions, create processes, store and manipulate structured data and build resilient applications.
Tip: Books are a high starting point for any programming career. You get a deeper understanding of theory and an overview of all the tools and possibilities of a given language. However, to become an Elixir coder, you need to continue learning and practice a lot.
Articles
There is no better way to dive deeper into the subject than to read articles written by professional Elixir programmers. If you are interested in particular areas of software development, frameworks, or products, feel free to search for information in expert blogs. Companies that use Elixir or other exotic languages in production usually actively contribute to the community and try to promote their tools.
- This introductory post will allow you to learn the basics of the Elixir language and decide whether learning it is worth the effort for you.
- Wonder what your career options with Elixir are? Follow the series of posts published by a software development company Serokell. There you will find open-source projects and companies that use Elixir in production. If you’re interested in functional programming, you will also find other exciting materials related to the subject, for example, about Haskell.
Courses
An excellent way to combine theory and practice is to follow interactive courses online. They often include modules for self-assessment or provide classmates feedback that motivates you to complete the assignments.
Elixir School
Elixir School is the place where you will find everything you need to know about Elixir. The content has been translated into many languages, so you can even study in your native language. This tutorial starts from the basics (Basic Data Types, Operations, Collections, and then proceeds to more advanced topics.
The Complete Elixir and Phoenix Bootcamp on Udemy
This is one of the most recommended courses to master Functional Programming techniques with Elixir and Phoenix while learning to build compelling web applications. You will know how FP differs from classic object-oriented programming through a variety of different practical examples. Once you have a solid understanding of Elixir, the course will discuss how to build applications with the Phoenix Framework. Source code is provided for each lecture, so you will always stay up-to-date with the course pacing.
Elixir web development 101
This tutorial starts by showing how to install Erlang, Elixir, and Phoenix, and guides you on your way to creating your first text application. Then, you are taught to work with your own Postgre test database. Then this tutorial series goes on to show you how to create a collaborative todo list with realtime updates
ElixirCasts
ElixirCasts is a collection of screencasts on Elixir and the Phoenix framework. The screencasts are simple and to the point. They are dedicated to various practical tasks that you can complete with the help of these tools like online shopping carts, contact forms, and more. This content will be suitable for both beginners and medium-level programmers that want to learn more about Elixir.
Final thoughts
Everyone has a unique learning style, and there is no such thing as suits-all. However, surely you will be able to choose something that works for you from the list and make the first step to a promising and exciting career.