The world of programming can seem to be an impenetrable jungle. Clojure, Go, Elixir are just a few examples of the paths you can take. New possibilities show up at every turn, each one more exciting than the others. That’s why I decided to show you how I started with Elixir and how you can use this knowledge to learn other programming languages. I hope that it will help you get started with a new language - such as Elixir.
Don’t learn the framework, learn the language
I remember my beginnings with Ruby on Rails perfectly. I wanted to start programming as soon as possible. At that time, I had already experimented with PHP and some frameworks like Symphony, Laravel and Cake. After going through some examples of Ruby, I noticed that the syntax is very easy so I started to learn the framework, and not the language. It was a huge mistake.
The first problem appeared very quickly - in my second project. I had to optimize some code so that it could work faster, and probably - as you might have guessed - I experienced the Tantalus Passion. Without knowing the basics of the language, I wasn’t able to cope with the problem. This was the sign that starting from the framework and not the language was in fact a mistake.
So when I started to learn Elixir in 2016, I decided to choose a different path. Based on my experience, I can fully recommend to start by reading the official documentation available here.
Do the attached examples while reading. The survey shows that doing exercises positively influences the process of remembering and learning. After that, if you still like this language, try to find some books.
For Elixir, I suggest buying Programming Elixir 1.3 (or newer versions). If you decide to buy it here, they will give you free access to every future upgrade.
Where to find more useful examples?
Once you have basic knowledge of the Elixir Lang, you should practice it. I really liked learning how other programmers solved the problems they encountered with the language that I was learning at the time.
The first place that I recommend to you are Elixir Slips. There, you can find many interesting examples how to solve basic problems and information about some of Elixir’s features. A huge plus of this page is the possibility to download tutorials and watch them even without access to the internet, e.g. while traveling.
When you’re done with that source, I recommend watching some conference videos. I usually look them up on Youtube, for example: Video
Going to the next level - time for the web
After checking all these sources, there comes the time for finally taking a look at the framework itself. Currently, the most popular web framework for Elixir is Phoenix. If you know Elixir, learning the framework should be very easy.
Again, if you’re looking for something to start with, I recommend the official documentation.
After reading the documentation, I reached for “Programming Phoenix” that can be found here.
To practice, you can build a simple blog, a todo or something similar that will help you get some basic experience. For example, I started by writing some CRM applications.
You know everything now - at least for starters. What’s next is entirely up to you. Write some open source code. Maybe help others to learn or start learning Erlang to better understand the existing opportunities. Search for job offers including an opportunity to learn Elixir better we have some at 314, if you’re interested.
I hope that I motivated you to start learning a new, really useful and interesting language, which I believe Elixir to be. Because to be a good programmer means to keep on learning.
Suggested Elixir Beginners' Knowledge Base
- Elixir Official Documentation
- Programming Elixir 1.3 Book
- Elixir Slips Podcast
- ELIXIR YouTube Channel
- Phoenix Framework Official Documentation
- Programming Phoenix Book