(Getting Started in Elixir)
Introduction
Elixir is an awesome programming language that allows you to build scalable and fault tolerant systems fast. Elixir provides a wealth of libraries and frameworks to get real things done. You can do everything from web development to IoT Development with Nerves. The community is also hospitable and welcoming.
Some of the features that really allow for Elixir to shine are Metaprogramming and its OTP Library . Metaprogramming has found its way in libraries like Phoenix(a popular web framework in Elixir* ). In fact, the creator of Phoenix, Chris McCord wrote a book about the Metaprogramming.
So there are some reasons for getting into elixir. Here are some recommended resources :
Elixir School and Exercism
Elixir School will take you from installation all the way to more advanced features of the language like macros and utilizing OTP. I have found it to be a lovely complement to the official documentation.
Once you have a good understanding of the fundamentals of elixir, the syntax and basic data types. A nice way of getting your feet wet with the language is exercism.
Exercism is an open source effort that provides exercises for people to do in the language they are trying to learn. They have tests written out for you to test your skills against. I think it is an awesome way to get started.
Coding Gnome Course
So there is this course offered by Dave Thomas, it is a paid course but I felt it was an ok price.
He goes over all the main features of the language and uses to build an application in a way that respects functional design principles that I found enjoyable.
Libraries and Frameworks
Once you have a basic understanding of the syntax and the semantics of Elixir, are feeling comfortable with the tooling: mix and everything. I recommended exploring some libraries :
Videos
Are you more into videos well there is this youtube channel that covers some topics :
Build Something
There is no better way of learning to do something than by trying to do something with what you learn. Try to build something useful for your day to day life. And find the libraries and things you need to do so. Reach out on the elixir slack and figure out what you need to get it done. Its fun learning a language but even cooler doing something with it