
Ask HN: Looking for the best Phoenix/Elixir/Erlang Tutorials - patientplatypus
Hi.<p>I am just starting out in web development and am looking for any tutorials on Phoenix&#x2F;Elixir&#x2F;Erlang. I am not familiar enough in the language to a) know if a tutorial will actually compile (I have had issues with this in the past) and b) how recent the tutorial needs to be given the latest updates to the language builds. Any and all tutorials where I can build an actual thing would be very useful to me as would resources such as &quot;this in x minutes&quot; that gives snippets of code that do something. I find large documentation sources good for exploring ideas later, but at first I need to get to compile something, if for nothing else than my own sanity.<p>Thank you in advance for your help :D
======
ch4s3
Elixir School is an excellent start[1] How I Start with Jose Valim is good[2].
And you should come to our form[3].

[1][https://elixirschool.com](https://elixirschool.com)

[2][http://howistart.org/posts/elixir/1/index.html](http://howistart.org/posts/elixir/1/index.html)

[3][https://elixirforum.com/](https://elixirforum.com/)

------
juhatl
The series of articles "Writing a Blog Engine in Phoenix and Elixir" [1] can
be quite fast-paced at times, but in the end (and far before that, too) you'll
have a blog platform that you can use and you'll understand how some of the
different Phoenix & Elixir pieces fit together.

For a more thorough experience, however, I would absolutely recommend you to
have a look at the books the Elixir community has produced. As you're
specifically asking for tutorials (and not other sources for learning), my
best recommendation would be Programming Phoenix [2], a book written by the
creators of Elixir and Phoenix.

The book is structured so that most of it is focused on building one specific
web application, so you can follow along from start to finish and build
something far more interesting than just a run-of-the-mill blog (and learn a
lot about Elixir and Phoenix in the progress).

[1] [https://hackernoon.com/introduction-
fe138ac6079d](https://hackernoon.com/introduction-fe138ac6079d) [2]
[https://pragprog.com/book/phoenix/programming-
phoenix](https://pragprog.com/book/phoenix/programming-phoenix)

~~~
bamboozled
I too recommend the the "Programming Phoenix" book, really well written and
informative book.

I totally love Phoenix and and Elixir, I wish I were able to work with it
more! Good luck and enjoy :)

------
msie
I'm currently enjoying this Udemy course: [https://www.udemy.com/the-complete-
elixir-and-phoenix-bootca...](https://www.udemy.com/the-complete-elixir-and-
phoenix-bootcamp-and-tutorial/learn/v4/overview) (most of the time you can get
it at a huge discount: $10US)

I have the Phoenix PragProg book but I found the tutorial more informative for
beginners.

~~~
sgslo
Author here, here's a $10 coupon: [https://www.udemy.com/the-complete-elixir-
and-phoenix-bootca...](https://www.udemy.com/the-complete-elixir-and-phoenix-
bootcamp-and-tutorial/?couponCode=LMFGOLD1)

------
corysama
You should ask
[https://www.reddit.com/r/elixir/](https://www.reddit.com/r/elixir/) It's a
quiet but nice subbreddit.

------
kalu
Plataformatec puts out a newsletter called the elixir radar. Check it out
here:

[https://app.rdstation.com.br/mail/e7d43299-3fb4-4405-afbe-d6...](https://app.rdstation.com.br/mail/e7d43299-3fb4-4405-afbe-d6ad2fbb187e)

------
Spiritus
[http://learnyousomeerlang.com](http://learnyousomeerlang.com)

------
di4na
[https://www.dailydrip.com/topics/elixir](https://www.dailydrip.com/topics/elixir)

This course is free, recent and take you from beginning to the end.

------
udayj
Here is a compiled list of resources for erlang:
[https://www.tutorack.com/search?subject=erlang](https://www.tutorack.com/search?subject=erlang)
and for elixir:
[https://www.tutorack.com/search?subject=elixir](https://www.tutorack.com/search?subject=elixir)
.

Disclaimer - I work at the above service

------
hoov
> I am just starting out in web development and am looking for any tutorials
> on Phoenix/Elixir/Erlang.

While I like Elixir a lot, I'm not sure that it's the best place to start. I'd
find an ecosystem that is more stable and has more reliable resources
available. Try starting with Rails or Django, maybe.

~~~
dermybaby
So its just that the ecosystem that is weaker compared to Rails? When would be
a good point to learn Phoenix after having say gone down the road learning
Rails.

~~~
karmajunkie
I don't actually agree that the ecosystem is weaker than Rails. There may be
fewer hex packages than Ruby gems, but after 10 years worth of doing my own
Rails work and cleaning up other people's messes, I can safely say that most
of the gems in the ecosystem are antithetical to well-designed modular
software.

Bottom line, learning to write software well is hard, no matter what language
you're in. What _is_ probably weaker in the Elixir sphere is the amount of
blog posts that go deeper than "Yay elixir", but there are some really high-
quality books that are a good subsitute. Here's the order I usually recommend
for new Elixirians:

1) Dave Thomas' Programming Elixir 2) Sasa Juric
([http://theerlangelist.com/](http://theerlangelist.com/)) Elixir in Action
(blog is also great) 3) Programming Phoenix (Jose Valim, Chris McCord, Bruce
Tate) 4) Lance Halvorsen's Functional Web Development with Elixir, OTP, and
Phoenix should probably be in there somewhere but I'm not sure where, as I
haven't had a chance to read it yet. 5) Designing for Scalability with Erlang
and OTP is a good followup when you're comfortable with the syntax and
concepts from OTP

[1] [https://pragprog.com/book/elixir13/programming-
elixir-1-3](https://pragprog.com/book/elixir13/programming-elixir-1-3)

[2] [https://www.manning.com/books/elixir-in-
action?a_aid=sjuric](https://www.manning.com/books/elixir-in-
action?a_aid=sjuric)

[3] [https://pragprog.com/book/phoenix/programming-
phoenix](https://pragprog.com/book/phoenix/programming-phoenix)

[4] [https://pragprog.com/book/lhelph/functional-web-
development-...](https://pragprog.com/book/lhelph/functional-web-development-
with-elixir-otp-and-phoenix)

[5]
[http://shop.oreilly.com/product/0636920024149.do](http://shop.oreilly.com/product/0636920024149.do)

------
Can_Not
This isn't a tutorial, it's a starter kit, and I'd like to see it grow and
help people with elixir/phoenix:

[https://github.com/iNeedThis/phoenix-
starter](https://github.com/iNeedThis/phoenix-starter)

------
jodyalbritton
There is a good resource on github (Awesome Elixir), here is the link to the
tutorials/books section

[https://github.com/h4cc/awesome-
elixir#resources](https://github.com/h4cc/awesome-elixir#resources)

------
falava
This video course is just released, with early access pricing:

[https://pragmaticstudio.com/elixir](https://pragmaticstudio.com/elixir)

------
bananaoomarang
I would echo other comments suggesting you start by learning Rails, but if you
really want to learn Elixir/Phoenix first I would probably start by playing
with Elixir, since Phoenix obscures a lot of things (similar to Ruby/Rails).

Here's a video which sweeps through some basics:
[https://www.youtube.com/watch?v=pBNOavRoNL0](https://www.youtube.com/watch?v=pBNOavRoNL0)

~~~
q1t
Can you provide an example please of these obscured things in Phoenix? Don't
want to sound harsh, just learning Phoenix as well.

~~~
s_kilk
They probably mean all the `using` macros, which can obscure where functions
are coming from, and make it hard to get a grip on which functions are
available in a given scope.

Having said that, Phoenix is nowhere near as 'magical' as rails.

~~~
Veen
Agreed. I found it confusing at first but once I understood that these things
are laid out in web.ex it was quite easy to follow the chain to the original
functions. I was also confused by where the helper functions came from, but
when I realized that some of them are generated automatically from route
definitions at complile time, things became clearer.

------
cristaloleg
[http://elixirdose.com/](http://elixirdose.com/)

------
jaequery
im also interested in picking up elixir/phoenix but lately crystal lang have
got me even more intrigued.

what sold me was the fact crystal was compatible with most ruby gems.

curious to hear, what do you guys think of crystal?

~~~
karmajunkie
my 2c, i'm not really all that interested in a faster OO language. If I wanted
that I'd move to Java, C#, or C++. Crystal is pretty close to Ruby, sure, but
the devil is in the details, and I suspect that digging into gem compability
is a bigger mess than it would seem at first glance.

------
sotojuan
Go learn Rails or JavaScript first. Lots more resources, examples, and people
to code with. Also, learning two languages, a web framework that is different
from most, and OTP is a bit too much.

