Dave Thomas

Pragmatic Programmers


book eBook


95%
42.0% 55.0% 3.0%

Check price

Programming Elixir

Functional |> Concurrent |> Pragmatic |> Fun

Explore functional programming without the academic overtones (tell me about monads just one more time). Create concurrent applications, but get them right without all the locking and consistency headaches.

Meet Elixir, a modern, functional, concurrent language built on the rock-solid Erlang VM. Elixir’s pragmatic syntax and built-in support for metaprogramming will make you productive and keep you interested for the long haul. Maybe the time is right for the Next Big Thing. Maybe it’s Elixir.

This book is the introduction to Elixir for experienced programmers, completely updated for Elixir 1.3.


Reviews

Elixir Forum @elixirforum
We've teamed up with the awesome Pragmatic Bookshelf to bring you a great competition - a chance to win a copy of the highly acclaimed Programming Elixir 1.3 by the legendary Dave Thomas.

positive

Marciol @marciol
I read part 1 and 2 of Programming Elixir, it is a good book when you are interested in a good prose and are available to learn in a slow pace, it is great for the exercises, but I think that now the Starting Guide from https://elixir-lang.org is enough.

positive

Josh Adams @knewter
We (DailyDrip) are giving away 5 copies of Programming Elixir. If you want to win it or know someone you want to trick into learning elixir and being super productive, here's the link: https://contest.dailydrip.com/giveaways/win-a-copy-of-programming-elixir-by-dave-thomas/

positive

Marioosh @marioosh
Good example I found in Programming Elixir book: Supervisor restarts the process with current state - it's good example for Fault tolerance.

positive

Aston @AstonJ
I've been reading it concurrently with Elixir In Action: I read 50% of Programming Elixir first (the language bits) and then jumped to Elixir in Action because it covers quite a bit of the same ground (especially the language basics, albeit at a faster pace) - this suits me perfectly because it saves me having to write notes; I like going over things to help 'repeat and reinforce' what I've learnt.

positive

@peerreynders
As Learn Functional Programming with Elixir is a work in progress it's probably a good idea to use it at the same time together with another book like Programming Elixir 1.3 - so that you are never waiting for the "next update".

positive

Aston @AstonJ
I've been reading it concurrently with Programming Elixir I read 50% of Programming Elixir first (the language bits) and then jumped to Elixir in Action because it covers much of the same ground - this suits me perfectly because it saves me having to write notes; I like going over things to help 'repeat and reinforce' what I've learnt.

positive

alamba78 @alamba78
So, your foundation should be solid by the time you finish Introducing Elixir and come into Programming Elixir 1.2, which helps you get through the examples and exercises without feeling like you don't know jack.

positive

Aston @AstonJ
I reckon it's a nice look into Elixir and also serves as a great way to revise and practice some of the things you've learnt after reading Programming Elixir and/or Elixir in Action (currently the only two books I've read myself) or after any of the other comparable Elixir books that cover the language in detail

positive

alamba78 @alamba78
Just FYI, after reading Introducing Elixir and now 30% of the way through Programming Elixir 1.2, I can say that both books are great for beginners but I'm glad I read it in the order that I did since the examples and exercises in Programming Elixir 1.2 gradually get a little more challenging for a beginner.

positive

Keith Gaddis @karmajunkie
Also, in terms of reading material, Dave Thomas' book Programming Elixir is a great starting point, but jump to Saša Jurić's Elixir In Action sooner than later. It goes much deeper into OTP and really helped my mental model a great deal.

positive

Dwi Wahyudi @dwahyudi
Ironically, the ruby book by Dave Thomas is the best book for me to understand object oriented programming, and the same person also authors one of the best book I've read in my life (Programming Elixir).

positive

Aston @AstonJ
If so why not read Programming Elixir 1.3 up to the end of chapter 14 (the language bits) then switch to Elixir in Action which will help reinforce what you've learnt but also give you a great insight into concurrency and OTP, and then back to the rest of PE when you've finished EIA. After that, go on to Programming Phoenix and any other books that interest you.

positive

Aston @AstonJ
But yeah I agree with Programming Elixir 1.3 (and Elixir in Action) being a good follow up to the books in my other post

positive

Ryan Bigg @radar
There's the excellent Getting Started guide on elixir-lang.org and the Programming Elixir book, but those feel like they're more targeted towards experienced programmers.

positive

Aston @AstonJ
I've just finished Elixir in Action (after reading 50% of Programming Elixir) - definitely feel like I have a fairly good overview of Elixir now.

positive

@Letmecode
I got the paper version from Amazon, so no update for me Same as with "Programming Elixir 1.2". Would be nice, if unique codes were to be found in the books, like in manning books, so that everybody who owns a paper copy could download e-book versions of the updated books for free.

positive

Ryan Bigg @radar
It would be good to get some information from a newbie like yourself which goes into detail about what things the Programming Elixir / Programming Phoenix books did not explain too well.

positive

@peerreynders
Programming Elixir is filled with the enthusiasm of somebody who's "finally seen the way" while being careful to smooth over the sometimes frustrating transition from the imperative/OO world; meanwhile Elixir in Action benefits from the perspective of extensive experience with the Erlang ecosystem, guiding the reader to using Elixir towards optimal benefit.

positive

alamba78 @alamba78
I'm balancing Programming Elixir 1.2 with Delivering Happiness by Tony Hsieh.

positive

@junebug
Introducing Elixir may be a good starting point before jumping into Programming Elixir.

positive

Dennis Walsh @LawJolla
Dave Thomas's Programming Elixir is great, as everyone mentioned.

positive

Andrew MacKenzie @mackenza
I would really like to get Programming Elixir and Programming Phoenix... the problem is I am sort of old school in that I have not had much luck learning from eBooks and prefer hard copy.

positive

Muhammad Hilmy Fauzan @muhifauzan
Programming Elixir is another good resource.

positive

Sasha Fonseca @sashaafm
Programming Elixir and Phoenix are definitely great.

positive

Vasspilka @vasspilka
What I did is after reading Programming Elixir, I went through the guides on http://elixir-lang.org/ to refresh what I learned, and it turned out perfectly!!

positive

Stephen Pallen @smpallen99
Dave Thomas's book Programming Elixir 1.3 is an excellent resource after working through the Elixir Guides.

positive

Aston @AstonJ
Just 10% of Programming Elixir, lol.

positive

@peerreynders
Now some people prefer Elixir in Action over Programming Elixir but it is bit older so there are some things to watch out for - but it is still good, especially if you prefer its focus on concurrent programming with some OTP (the update will probably be a while, though Manning does have a habit of putting a book into early access once the first three or four chapters are available).

positive

Patryk Nowak @PatNowak
I can advise you for the beginning "Programming Elixir" - it's really a great book.

positive

Raúl Humberto Chouza Delgado @chouzar
I found learnelixir.tv to be an excellent companion course to Programming Elixir.

positive

Yurii Bodarev @Molly101
@kujua Thanks, I just want to understand how to compare this book contents with Programming Elixir and Programming Phoenix books

positive

Aston @AstonJ
If you will be reading together with Programming Elixir I recommend reading 50% of Programming Elixir first, then 100% of Elixir in Action, then finishing with the remainder of Programming Elixir (partly because it's been updated more recently - so when you're done you will be relatively 'up-to-date' ).

positive

Aston @AstonJ
If you will be reading this together with EIA I recommend reading 50% of Programming Elixir first, then 100% of Elixir in Action, then finishing with the remainder of Programming Elixir (partly because it's been updated more recently - so when you're done you will be relatively 'up-to-date' ).

positive

Thinkpadder1 @thinkpadder1
It looks like Programming Elixir is the only one that is updated for 1.2.

positive

Denis @dgamidov
I recommend to start with Programming Elixir 1.3.

positive

Aston @AstonJ
What were your favourite parts of Programming Elixir @sashaafm (I'm currently reading it)

positive

Pablo Borges @pablo
I'm reading Programming Elixir at night and solving the exercises when I have some free time.

positive

alamba78 @alamba78
So, I'll finish up reading Programming Elixir 1.2, Elixir in Action, The Little Elixir and OTP Guidebook, and Design for Scalability with Erlang/OTP and hope there is another 40% discount before I'm ready to move on to Learning Phoenix.

positive

Juan @sotojuan
So I went through Programming Elixir and did fine.

positive

Arman Jon Villalobos @seniorbrusko
Currently reading Elixir in Action, I can say it's has a better introduction than Programming Elixir, both I just started reading.

positive

Martin Gausby @gausby
Today I would recommend reading Dave Thomas' book for the introduction to the syntax and topics such as recursion and immutability; then read Elixir in Action but skip the first section as this has already been covered in Programming Elixir 1.2

positive

Hubert Łępicki @hubertlepicki
Programming Elixir 1.2 is okayish but does not cover a lot of important stuff.

positive

James Wheaton @uranther
Maybe I will get a better hang of it while going through Programming Elixir 1.2.

positive

Arman Jon Villalobos @seniorbrusko
Although in Programming Elixir there are test or little quizzes which is better. Not too far yet on both books, judgement may change

positive

Ckhrysze @ckhrysze
Also, I have very much enjoyed working my way through the Programming Elixir book.

positive

FrigidCode @frigidcode
I highly recommend Programming Elixir 1.3 by Dave Thomas.

positive

FrigidCode @frigidcode
I started with Programming Elixir 1.2, jumped to Learning Elixir as I like seeing two points of view for learning.

positive

@junebug
Programming Elixir is not beginner friendly.

positive

Alex Wochna @awochna
I've read (Programming Elixir and Programming Phoenix), made a presentation and presented it (Introduction to Phoenix and Elixir), and now I'm working on building a project to help with distributed web applications, creating open source packages in Elixir as I go.

positive

Aston @AstonJ
I think I am going to go through this course after finishing Programming Elixir (hopefully Programming Phoenix will be updated by the time I am done )

positive

Aston @AstonJ
It moves at a quicker pace than Programming Elixir on the language side of things, which is another reason why I think they work very well together - because it's almost like you took notes yourself.

positive

Denis @dgamidov
I have just reached "Releasing Your Code" in "Programming Elixir 1.2" of Dave Thomas.

positive

@peerreynders
Short answer: Give priority to Programming Elixir 1.3 and depending on how committed you are, consider acquiring it via the Starter Kit for Elixir Development (it also applies to "Programming Elixir 1.3").

positive

@peerreynders
"Programming Elixir" is largely exercise based, while IIRC "Elixir in Action" has you build a key-value store (in the beginning). So between those two you should be covered and which one you start with is largely a matter of preference.

positive

@peerreynders
Following it up with Programming Elixir 1.3, one would hopefully be able to breeze through the sequential programming portion to be then exposed to the introductions of concurrent programming, OTP and macros.

positive

Max Underthesun @max-underthesun
and i agree completely that Programming Elixir is not the book for a beginner... i started with it, but after about 30% of the book i just can't move forward and switched to Introducing Elixir, which is much easier...

positive

@junebug
Agree with everything you said except for recommending Programming Elixir.

positive

Aston @AstonJ
But when I bought Programming Elixir 1.2 I got version 1.3 free, look here:

positive

Aston @AstonJ
Also don't forget you can get 25% off both Programming Elixir and Programming Phoenix via your control panel on our competition sites (we are giving away a copy of each per month).

positive

Vasspilka @vasspilka
I have read Programming Elixir and can't recommend it enough, it is totally worth its money!

positive

Alexander Afshar @asqrd
Yeah, I've read Programming Elixir when it first came out, and lightly went through Chris McCord's Phoenix book, reading them is what drew me to Elixir, however, took me a while to get into a position where I could use Elixir professionally and definitely need to re-read.

positive

Meinert Schwartau @mschwartau
The following is my solution to one of the exercises of "Programming Elixir 1.2" and I wondered if it is considered an anitpattern to have two functions (upcase_first_char and downcase_till_point) which call each other - or if it is ok if there are not too many functions which call each other.

positive

Martin Gausby @gausby
I read David Thomas' Programming Elixir a couple of times as it was updated while the language was developed, and I read Elixir in Action when it was almost done and re-read it when it was final.

neutral

Max Underthesun @max-underthesun
Elixir seems to me more "mathematical" and more "programmatical"... especially if you are starting from Programming Elixir, not from Introducing Elixir (and this is exactly what i was looking for)

neutral

FrigidCode @frigidcode
After I finish a few projects I plan on returning to Programming Elixir 1.2 to finish it up, its a beastly book.

neutral

Max Underthesun @max-underthesun
now i'm back to Programming Elixir

neutral

Arman Jon Villalobos @seniorbrusko
@AstonJ I'm at chapter 6 on Programming Elixir, and only Chapter 2 on Elixir in Action.

neutral

Arman Jon Villalobos @seniorbrusko
Programming Elixir started with Pattern Matching, while Elixir in Action started with Modules and Functions or how to organize code.

neutral

James Wheaton @uranther
I had my Programming Elixir 1.2 book on pre-order, and I just got an email saying it should be here by Wednesday.

neutral

@sztosz
Wise words from Programming Elixir by Dave Thomas

neutral

@sztosz
Hi, i'm going through the Programming Elixir book, i have the first edition, and don't know how much changed... Anyway, in chapter 12 there we are building simple client for Github API, many of you probably done that.

neutral

Aston @AstonJ
Programming Elixir

neutral

Adolfo Neto @adolfont
I am reading Programming Elixir.

neutral

Andrejs @andrejsm
It was enough for me to read Programming Elixir and be familiar with the syntax.

neutral

Aston @AstonJ
I'm not sure whether to finish Programming Elixir next, or start Programming Phoenix (or maybe read them together?) - I'm itching to get a Phoenix done... but not sure whether I should wait for the book to be updated for 1.3 (/contexts etc).

neutral

Boris Gnezdilov @sysashi
Programming Elixir, after that Learn You Some Erlang.

neutral

Greg Vaughn @gregvaughn
from http://agilemanifesto.org/ (that's Dave Thomas of Programming Elixir on the far left in the picture by the way)

neutral

Greg Vaughn @gregvaughn
I got started while Programming Elixir was still in beta.

neutral

@zinclozenge
I'm talking about Programming Elixir, and Elixir in Action.

neutral

@zinclozenge
I first went through some of the guides on the elixir-lang website, then I went through Programming Elixir and some bits of Elixir in Action.

neutral

Elton Murillo @l_tonz
If you bought the Programming Elixir 1.2 can you get the 1.3 book for free?

neutral

Denis @dgamidov
And compare it with Dave Thomas Programming Elixir, which costs $25. 354 pages of valuable information.

neutral

Marcus Bajohr @mbajohr
Now working through Elixir School, have bought the elixir books from Manning (Elixir in Action by Saša Jurić and The Little Elixir & OTP Guidebook by Benjamin Tan Wei Hao). Also in the shelf is Programming Elixir 1.2 by Dave Thomas.

neutral

Ricardo García Vega @bigardone
I've also read Programming Elixir and now I'm finishing Elixir in action as well.

neutral

Jim Cushing @jimothy
Click on the green Redeem button for Programming Elixir 1.3.

neutral

Jim Cushing @jimothy
Programming Elixir 1.3 is now in beta from PragProg.

neutral

Jim Cushing @jimothy
To do so, log onto your PragProg account, and you'll see a "100% off" offer for Programming Elixir 1.3.

neutral

@snake117
I've been learning through Programming Elixir 1.2, Programming Phoenix, learnelixir.tv, and learnphoenix.tv

neutral

@snake117
I read Part I of Programming Elixir 1.2, of which I probably learned 15% of the material.

neutral

Wiebe-Marten Wijnja @Qqwy
I think that the Programming Elixir book by Dave Thomas is probably the one that is most readable without prior programming experience.

neutral

Denis @dgamidov
I suggest it after Programming Elixir and Programming Phoenix.

neutral

Denis @dgamidov
Next day after I have bought Programming Phoenix and Programming Elixir there was 40% off on these books!

neutral

Aston @AstonJ
Just a quick note for our new members or anyone who's missed it, but every month until the end of the year we are giving away a digital copy of the highly acclaimed Programming Elixir 1.2!

neutral

Denis @dgamidov
I suggest it after Programming Elixir and Programming Phoenix.

neutral

Aston @AstonJ
Programming Elixir has gone from that, to PE 1.2 to the current version of PE 1.3.

neutral

Denis @dgamidov
I thought it is only for Programming Elixir

neutral

Aston @AstonJ
The answer was provided by PragDave in his book Programming Elixir; that the syntax is a reminder that we are working with immutable data and that functions don't modify data, they return completely new versions of it.

neutral

@trydis
Playing with Elixir in the evenings and reading "Programming Elixir 1.2"

neutral

Aston @AstonJ
I'm currently 10% of the way through Programming Elixir, and I believe the chapter on Recursion is Chapter 7 (Lists and Recursion) - the bits I have read about it so far do make sense - but it's possible the more complex stuff might not

neutral

Aston @AstonJ
Did you both read Programming Elixir first?

neutral

Flou @flou
I bought the "Programming Elixir 1.3" book right after finishing the course.

neutral

Voger @voger
I just finished "Programming Elixir" and now I am reading "Metaprogramming Elixir". I can't say I comprehend everything.

neutral

Voger @voger
As I see the books description and how it is addressed to beginners I wonder what is different from "Programming Elixir". Does it offer anything more for those who have already read "Programming Elixir"?

neutral

Aston @AstonJ
Now that I'm back into it, I've read Programming Elixir (50% of it) then Elixir in Action (all of it) then the remainder of Programming Elixir.

neutral

Aston @AstonJ
Programming Elixir

neutral

Eric :) @ericmachine88
Alright, then I will inevst in Programming Elixir 1.3 first and then Elixir in Action next.

neutral

Christiansakai @christiansakai
* Programming Elixir

neutral

Napoleon Ahiable @thepreacher
So the above code is from the book Programming Elixir Page (118) ebook version.

neutral

Aston @AstonJ
Programming Elixir

neutral

Willie Loh @willieLOH
Programming Elixir (60%)

neutral

@peerreynders
There already is a Starter Kit 2 for Elixir 2 -$23.60 (i.e. 40%) discount with Programming Elixir 1.3 instead - but I don't know if that will affect the eligibility for the physical book coupon.

neutral

Jonathan Soifer @jaysoifer
• Programming Elixir 1.2 (USD 35.15)

neutral

Jonathan Soifer @jaysoifer
That being said (or more appropriately "that being sad"): as soon as I finish those 2 basics books + Programming Elixir 1.2, I will definitely subscribe to your course.

neutral

Ryan Bigg @radar
I read through the Programming Elixir book too.

neutral

Ryan Bigg @radar
I later read through Programming Elixir and Programming Phoenix.

neutral

@peerreynders
It is targeted towards programmers who are already conversant in the higher level concepts that are typically found in most programming languages and Programming Elixir shows how to implement those concepts in Elixir, perhaps making some allowance for the reader not being familiar with the functional style.

neutral

@peerreynders
I got my Programming Elixir 1.2 as part of the Starter Kit for Elixir Development.

neutral

Szymon Ciołkowski @clk
Currently going through "Programming Elixir" book.

neutral

alamba78 @alamba78
I wonder if I came across this before, maybe in Introducing Elixir or Programming Elixir 1.2 . Thus far, I've not come across an explanation in The Little Elixir and OTP Guidebook.

neutral

@peerreynders
Compare the code in Elixir in Action and Programming Elixir - I think you'll be able to tell who's coming from a Ruby background and who's coming from an Erlang background (and which one feels "more functional").

neutral

alamba78 @alamba78
I'll have to come back to it once I get past Programming Elixir 1.2 and Elixir in Action.

neutral

@peerreynders
If you've read Programming Elixir you'll probably be familiar with this tweet:

neutral

@peerreynders
Programming Elixir 1.3 demonstrates this approach in Chapter 18 Supervisors where the Stash worker is actually higher up in the supervision tree than the Sequence worker.

neutral

alamba78 @alamba78
Just an update on Programming Elixir 1.2.

neutral

@peerreynders
Programming Elixir 1.3

neutral

Kaareltinn @kaareltinn
Half way through Programming Elixir.

neutral

lidashuang @lidashuang
Elixir 程序设计 => Programming Elixir

neutral

Juan @sotojuan
I started with Programming Elixir 1.2 and now going through Programming Phoenix.

neutral

Juan @sotojuan
Programming Phoenix has been updated a couple of times, and Programming Elixir was given an update for 1.2.

neutral

Vasspilka @vasspilka
There are 3 beginner books, Introducing Elixir, Learning Elixir and Programming Elixir.

neutral

@Alchemist
After this course is done, I will probably buy "Programming Elixir" by Dave Thomas.

neutral

Brian van Burken @brianvanburken
I see it as an extra but essential appendix to Programming Elixir.

neutral

Muhammad Hilmy Fauzan @muhifauzan
I'm half way in Programming Elixir book.

neutral

Sasha Fonseca @sashaafm
I've got Programming Elixir by Dave Thomas, Programming Phoenix, Introduction to Elixir (haven't read this one yet) and Little Elixir and OTP Guide (midway reading it).

neutral

Ulissesalmeida @ulissesalmeida
In Programming Elixir by Dave, he will guide you through all Elixir feature showing you some concepts of functional programming, concurrent programming, and testing.

neutral

Ulissesalmeida @ulissesalmeida
In Programming Elixir you'll have ten pages that describe the recursive function and quickly jump to lists navigation, high order functions, and tail call optimization.

neutral

William Wong @William
I am thinking to buy Programming Elixir 1.3 and Introduction To Elixir 2nd.

neutral

Lucas Tadeu Teixeira @snowcrshd
After that I'll probably get Programming Elixir or Elixir in Action and go from there.

neutral

Sasha Fonseca @sashaafm
In my opinion if you are in part 3 of the Programming Elixir book then I think you should just finish it first.

neutral

@ciastek
I've started with "Programming Elixir" and then moved to "Programming Phoenix".

neutral

@ciastek
After building a real thing with Phoenix it would be easier to apply knowledge from "Programming Elixir".

neutral

Dina @soundstruck
|> Programming Elixir

neutral

Dina @soundstruck
Do you have the first Programming Elixir book?

neutral

@Deithrian
Just got Programming Elixir 1.2 "To illustrate this and to lay the foundation for a lot of Elixir programming,

neutral

@tme_317
I found Elixir through tweets and blog comments from like-minded rebels then went through the guides of Elixir then Phoenix then Programming Elixir followed by Programming Phoenix. Finally I went through the Hartl tutorial again, re-developing it all with Elixir/Phoenix instead. Although as a beginner you are spending a little extra time learning some Ruby before getting into Elixir I didn't feel like any of this was a waste. You don't spend too much time dealing with OOP patterns and Rails magic to be unlearned and I found everything learned was VERY easily applied to Elixir/Phoenix due to the similar syntax of the language, iex vs irb, mix vs bundler+rake, routing framework/helpers, exunit vs minitest, eex vs erb, etc. With this foundation, Elixir and Phoenix is actually much easier to understand actually since you can much more easily introspect the inner workings of the framework.

negative

Willie Loh @willieLOH
I started with with Elixir in Action and stopped right before deep into OTP, same case for Programming Elixir.

negative

detectivemittens @detectivemittens
What book are you reading through @AstonJ? If you read Dave Thomas's Programming Elixir, he starts bringing up recursion problems pretty early in the book.

negative

Heath Kang @HeathKang
Hi, I am new to Elixir.I am learning elixir by reading Programming Elixir.I got trouble when I build a simple client and try to fetch issues from github.

negative

detectivemittens @detectivemittens
I'm also doing the problems in Dave Thomas's Programming Elixir, but I'm only able to wrap my head around the simpler problems.

negative