The combo Elixir + Phoenix has been recommended to me by a very good friend to which I asked what the best framework is to build web applications.
My friend told me to go through the official documentation, but it’s all about syntax, typing stuff into
iex, which is rather boring. So i went to the elixir koans.
Now don’t get me wrong. I love the koans, they are funny and thorough, and I will finish this course (I’m halway through).
HOWEVER what I would like is something like the Rust Book. It progressively explains ever-harder features of the language and steadily gives examples to write and compile on my own. There is a lot of talk, detailed explanations, and a clear path that gives small rewards on the way.
Is there anything of the like for elixir ? Some kind of progressive playground ? Everywhere I go I see small chunks of code that isn’t compiled but executed. I’d like to see what an actual programm looks like, be it as small as “hello world”, and grow from there.
Maybe I’m wrong in my whereabouts. If so, please explain me why, and what the best path would be for me.
Welcome to the forum!
What are your feelings on: Introduction to Mix?
If you like that style then Elixir In Action (Manning) (2nd Edition) might be your speed.
If the functional programming aspect is giving you trouble Learn Functional Programming with Elixir (Pragprog) may be a better primer (Chapter 1: free from here).
I’m currently reading Programming Phoenix (Pragprog) where you get to follow along while creating an app (and I’m SO pleased you create an auth system as well!) and I also thoroughly enjoyed PragDave’s Elixir for Programmers (PragDave) (Currently on offer for $30!) where you get to code an app in an almost personal tutoring style.
If you prefer shorter examples of coding along, I agree with Peer about Elixir In Action (Manning) - you get to build things like GenServers and Supervisors from scratch which I really enjoyed, because it shows how things work under the hood which I believe helps give you a much better understanding of things.
IIRC, Learn Functional Programming with Elixir (Pragprog) did something similar with Maps
Honestly though, I highly recommend every Elixir and Phoenix book (particularly those published by professional publishers like PragProg and Manning) - we are lucky to have some brilliant resources; check them out here #learning-resources:books and #learning-resources:courses and good luck
Some kind of progressive playground ?
Well, as you asked about web applications… I know no better playground than the one you get with
mix phx.new playground --no-ecto,
I’d start with it to build a simple Hello World page with a picture of choice … (
--no-ecto to skip database and its dependencies) … then play around with more features.
As with foreign languages, you learn a lot more syntax and words by actually using the lang you want to learn… even if nobody understands you at the beginning (here the elixir compiler will be carefully listening to you)
So don’t waste too much time looking for resources, build something, you’ll have plenty of specific questions to search for then (an infinite stream of…). Have fun.
Thanks to all for the kind and thought out replies! I’ll be looking into those. I’ll let you know what I chose
I’d like to see what an actual programm looks like, be it as small as “hello world”, and grow from there.
You can try
$ mix phx.new hello_world --no-ecto for a web application, with phoenix. Or a simple elixir program with:
$ mix new hello_world