I’m learning ELixix at the moment, to have some variety from coding in JavaScript.
Elixir is a friendly, functional language with a syntax that is a bit similar to Ruby. This document gives a good overview:
Range.new(1,10)
|> Enum.map(fn x -> x * x end)
|> Enum.filter(fn x -> rem(x, 2) == 0 end)
#=> [4, 16, 36, 64, 100]
from the official homepage:
Elixir is a dynamic, functional language designed for building scalable and maintainable applications.
Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
Thinking in functional paradigms is something I enjoy and Elixir makes it easy.
I’m a big fan of Clojure and ClojureScript but it’s hard to get productive as a beginner. It is a language aimed at experienced developers who ideally have some history with using Java. I find Java interop notoriously frustrating.
Elixir is still a young language but has a welcoming community and accessible learning resources.
Here are some:
- the official website has an excellent guide
- a list of learning resources from the offical website
- Joy of Elixir is aimed at total beginners (free online)
- Elixir School also seems useful for quick lookups (free)
- Alchemist Camp offers good videos for learning Elixir with projects (freemium)
- Pragmatic Studio’s Elixir/OTP Course is an engaging, in-depth project-based video course that I enjoy (paid)
- The Complete Elixir and Phoenix Bootcamp | Udemy by Stephen Grinder is also good but a bit out of date - Udemy courses are often on discount for around $10 (paid)
- How I Start Elixir by Elixir author José Valim also looks useful (free)