##Interview with Dave Thomas:
It’s been a while since the last revision of this book. Why a new edition now?
I guess it’s been almost 3 years. I’ve resisted doing another edition because not much has actually changed in the core language. There’ve been a few deprecations, and a bunch of new functions, but almost all the code in the 1.3 version of the book runs just fine on Elixir 1.6.
But… it has been 3 years. And during that time the Elixir community has gained a lot of experience. Although the language is pretty stable, the way we use it has become more sophisticated. That’s what triggered me to update the book: I wanted to show some of those new ideas.
Can you give an example?
Let’s look at one of the core components of the Elixir runtime, the GenServer module. This comes from Erlang, and in the past we designed Elixir GenServers just about the same way the Erlang folks did (although the implementations were a lot simpler). But we’ve moved on from that. Elixir has new ways of specifying the supervisors for servers, and new convenience servers such as Agents and Tasks. The result is that idiomatic Elixir has moved on quite a lot. I ended up writing a new chapter, and substantially changing two others, to reflect these new (and better) styles.
In the past, you said that developers should learn Elixir because it teaches them a new way of thinking about code. Do you still feel the same way?
Yes and no. I think that reason is still valid. Apple just shipped an 18 core iMac. Servers with 64 and 128 cores are in the works. You need to find reliable and manageable ways to write code for these beasts. I still firmly believe that functional programming is the key technology to make this happen. On top of that, the actor model seems to be the best way to communicate between processes. And Elixir is both a functional language and it has a runtime library based on the actor model that has been battle tested for decades.
But now I give a second reason why developers should learn Elixir: there’s a well-paying and expanding job market for Elixir developers. It’s a skill that’s in short supply, and this is a great time to join in.
What do you see in the future of Elixir?
I’m more and more convinced that the browser will not be the dominant way we interact with the internet in the (near term) future. You can already see the growth of alternatives: mobile apps, smart devices, and even things like Alexa and Google Home. As computer power becomes ambient, we’ll need technologies that let us deal with this dynamic, long-running, and fault-resistant world. I think Elixir has a big part to play in this.
Already we have the Nerves project, which lets you burn your Elixir applications into free standing images which will boot on devices such as the Raspberry Pi Zero. That’s a $10 processor with WiFi, lots of I/O, and a full Elixir and Erlang runtime. I made a touch sensitive xylophone that uses pubsub to communicate over the ‘net with synthesizers running on desktops, both client and server in Elixir.
And that brings me to the second revolution. Elixir has a framework called Phoenix. Unfortunately, people see it as some kind of Rails replacement. But Phoenix is way more that that. Phoenix is a connectivity framework. If it connects to the ‘net, Phoenix can talk to it, switch traffic to and from it, and manage it. It’s a natural for driving millions of IoT devices from a single server.
So I see the future of Elixir as being the future of software. And it sounds like fun.
By the end of this book, you’ll understand Elixir, and know how to apply it to solve your complex, modern problems.
Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
AstonJ
Just finished this book - loved it!
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. These two books are a fantastic combo if that is your preferred learning style too.
I love how Dave holds your hand while going through the language fundamentals (quite in-depth too) - he fully explains all the related code and I feel this is really important when you are learning a new language as it stops you from feeling lost, which can put you off the language let alone a book! I think the overall pace of the book is great, especially if you are coming from another language.
If you’re wondering how it differs to EIA, it covers the language basics in more depth, as well as covering more topics (like Agents, Tasks, Sigils, etc). EIA on the other hand covers processes, OTP and deployment in more depth. Again, another reason why these two books make the perfect combo.
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’
).
Overall, this book definitely gets a massive
from me! If you haven’t got it - get it! Definitely one of Dave’s best books to date.
Now… I’m off to do Dave’s online course
kokolegorille
Hello everyone,
Programming Elixir by @pragdave is now updated for version 1.6
peerreynders
Picked up Programming Elixir 1.2 as part of the Elixir Starter Pack back in May 2016 (updated to Programming Elixir 1.3 in August 2016) - and there was a redeemable coupon (100% off) for Programming Elixir ≥ 1.6 on my
pragprogaccount!Lets not take these generous updates for granted.
agustif
I bought on amazon Programming Elixir 1.3 Physically, any coupon codes here for us analogs?
AstonJ
Try now
Unfortunately I don’t think so (and why I always recommend people buy digital copies directly from publishers). You could email them to be sure though?
You can however use the coupon code in the first post to get 35% off the ebook
agustif
Yeah oh well, I bought both Phoenix and Elixir’s versions in physical and haven’t got to read 'em yet, so I’ll wait…
I’ve to many stuff to read/learn anyways tbh
sztosz
Can you point to where exactly it was?
I bought 1.2, updated to 1.3 just like you did, but don’t see any coupon for 1.6 
drl123
@sztosz I had the same problem yesterday. It’s kind of hidden. First add it to your cart, then view the cart to see coupons at the bottom, and if you are like me, you have many unused coupons for paper versions and the free ebook one is all the way at the bottom, so you have to scroll. Would be nice if newest showed up on top, or if the coupon was visible on the product detail view, but…
sztosz
Thank you very much
I didn’t find the coupon in cart though… heh… had to go to Manage and there it was on the bottom, but above 
Your Ordersyounes-alouani
Hi everybody,
Did someone look over this new edition of the book.
Is it worth to buy or should I continue studying the older version ?