Fl4m3Ph03n1x

Fl4m3Ph03n1x

Which book to read?

Background

Hello all! So after my controversial introduction with Learning Elixir, frst impressions ( plz don't kill me ! ) - I saw a ton of recommendations for learning Elixir. The challenge however is that I don’t have time to read them all - that would take me several months or even years.

So I need to start somewhere. After checking the official page:

I concluded I am interested in Videos / Books.

What book should I get?

So, I am not completely new to FP. I know what lambdas and recursion are and I am quite familiar with the basic concepts of FP.

What I don’t know however, is how to do FP Elixir style. I am looking for a book or video that:

  • Teaches me the basics of Elixir and how to think in Elixir
  • Preferably has no association with frameworks ( yet, I will invest into Phoenix and OTP later as I rather have the basics of the Elixir mindset well cemented for now )
  • Has exercises ( I am using Exercism.io but I could use something with more guidance )
  • Preferably cheap ( I have seen some books recommended by the Erlang community with a woping 120€ price. I can’t afford anything near that. )
  • Preferable with immediate availability. I am a sucker for physical copies but right now I can’t wait a week for a book to get to me. A PDF file would be just fine.

I have checked online courses in Udemy and Pluralsight, but I am reluctant into buying them because I am not really sure if they are worth it.

Summarize

So, given my background, what I am looking for and the resources the community knows, which ones would you recommend ?

I tried to check this one out:

https://pragprog.com/book/cdc-elixir/learn-functional-programming-with-elixir

But I am not really new to FP so I am not sure if this is a good purchase for me.

Most Liked

kokolegorille

kokolegorille

I share opinion for books with other posters… but for me, one turning point was

https://www.cs.kent.ac.uk/ErlangMasterClasses/

After that, I went from why? to of course, it makes sense.

And it’s free.

datadrover

datadrover

Based on this and your previous post, I would recommend Elixir in Action. There is a forum discount code. From where you are starting, this book provides an excellent exposition of Elixir and how the language fits into the Erlang ecosystem.

peerreynders

peerreynders

Given all the parameters I firmly point you in the direction of Elixir in Action 2e. It moves at a brisk pace while treating it as a BEAM language (rather than as a FP Ruby knockoff), gets into process thinking while sprinkling in a little bit of OTP.

Here are the details with regards to the forum discount.

But I am not really new to FP so I am not sure if this is a good purchase for me.

Get through EiA2e first and continue with exercism. If after finishing the book and watching the Erlang master classes exercism still gives you trouble then it is likely a good purchase.

If you need a quick Erlang primer check out chapter 2 of Designing for Scalability with Erlang/OTP in the free sample on play.google.com - if there are any other gaps fill them in with the appropriate sections of Learn You Some Erlang.

  • Simon Thompson is one of the key people (pulling in people like Francesco Cesarini, Joe Armstrong, etc.) behind the University of Kent content - he teaches Haskell and Erlang and is the Author of Haskell: the Craft of Functional Programming and coauthor of Erlang Programming. For my overview of the Universty of Kent MOOCs see (Part 1) and (Part 2).

For some other meandering thoughts on reading order see: When learning, what order of books did you start with?

david_ex

david_ex

For learning “just” Elixir, I would recommend the following books:

The prag prog book is more of a “step by step” book. Elixir in action progresses faster (doesn’t spend as much time exploring more basic aspects). Both are good and having both won’t necessarily lead to a lot of duplication. Note I have only read the 1st version of Elixir in action: I learned a lot, but at this stage it’s getting quite dated (i.e. buy the 2nd edition, not the 1st).

Another excellent (free!) resource is learnyousomeerlang.com. Although it’s about Erlang, it spends a lot of time covering “thinking in OTP” etc. which transfers nearly directly into Elixir.

For video-based learning, there’s

Based on your experience and requests, I would recommend the first one as its style is closer to what you’re looking for.

Being new to Elixir myself, I’ve spent some time to write a series on creating a process pool manager in Elixir (as well as some small coding patterns in Elixir). You might find them helpful: http://davidsulc.com/blog/category/elixir/

peerreynders

peerreynders

Right now at www.springer.com use code SCW18E ​​​​​​​or CYBERWEEK18

Where Next?

Popular in Chat/Questions Top

pietrofxq
I’ve bought the following books: Programming Elixir 1.6 Programming Phoenix 1.4 Programming Ecto Functional Web Development with Elixir...
New
satoru
I’m working on the “Bob” exercise on the Elixir Track in Exercism. I am testing for uppercase letter with this simple check: c in ?A..?Z...
New
loganhelms
A while back, I read a great book by Luis Atencio titled, Functional Programming in JavaScript. In section 7.3, he discusses memoization ...
New
Allyedge
Hey, I want to learn Elixir OTP and I wanted to know if there are any good resources that teach it. I found some web pages, but none of t...
New
wolfiton
Question: Can someone recommend me some good resources on learning performance for phoenix elixir applications and a design pattern I sh...
New
Fl4m3Ph03n1x
Background I am trying to recycle myself and improve my knowledge about Phoenix. With 1.7 now out, this seems like a good opportunity. W...
New
Fl4m3Ph03n1x
Background After following the communitiy suggestion, I bought the Elixir in Action 2nd Edition book and I am about to finish it now. I ...
New
dogweather
Can anyone recommend books/courses/videos that use real-world Elixir? E.g.: Idiomatic error handling design, whether it’s {ok/error, .....
New
SavagePixie
I was wondering if there are any beginner-friendly, exercise-based resources for learning Elixir out there. I’m looking for something lik...
New
Fl4m3Ph03n1x
Background Hey guys, recently I bought a book on TDD that I am reading. The books is really nice and has some really juicy things on arch...
New

Other popular topics Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 record...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
qwerescape
Is there a way to get the call stack or stack trace at any point in the code? Not from exceptions, but an expression that returns how the...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
josevalim
Hi everyone, One of the features added to Elixir early on to help integration with Erlang code was the idea of overridable function defi...
New

We're in Beta

About us Mission Statement