Elixir in Action teaches you to apply the new Elixir programming language to practical problems associated with scalability, concurrency, fault tolerance, and high availability.
About the technology
Elixir is a modern programming language that takes advantage of BEAM, the Erlang virtual machine, without the burden of Erlang’s complex syntax and conventions. Elixir gives you Ruby-like elegance with the power to develop bulletproof distributed server systems that can handle massive numbers of simultaneous clients and run with almost no downtime.
About the book
Elixir in Action teaches you how to solve practical problems of scalability, concurrency, fault tolerance, and high availability using Elixir. You’ll start with the language, learning basic constructs and building blocks. Then, you’ll learn to think about problems using Elixir’s functional programming mindset. With that solid foundation, you’ll confidently explore Elixir’s seamless integration with BEAM and Erlang’s powerful OTP framework of battle-tested abstractions you can use immediately. Finally, the book provides guidance on how to distribute a system over multiple machines and control it in production.
What’s inside
Practical introduction to the Elixir language
Functional programming idioms
Mastering the OTP framework
Creating deployable releases
About the reader:
Requires no previous experience with Elixir, Erlang, or the OTP. Written for readers who are familiar with another programming language like Ruby, JavaScript, or C#.
About the author
Saša Jurić is a developer with extensive experience using Elixir and Erlang in high-volume, concurrent server-side systems.
Don’t forget you can get 35% off the ebook with your forum discount, use code devtalk.com
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 on the language side of things. This suited me perfectly because it saved me having to write notes (I find going over things is a great way to ‘repeat and reinforce’ what I’ve learnt). These two books are a fantastic combo if this is your preferred learning style too.
I am surprised this is Saša’s first book - it’s very well written. 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 if read concurrently as mentioned above).
Saša also covers much more than just the fundamentals of the language; after the basics you cover processes and OTP in quite some detail (and from what I’ve read so far, goes into more detail here than PE). You actually build your own server process before he introduces you to GenServers (which I felt was an excellent way to demystify them) - you’ll definitely leave feeling as though you have a fantastic insight into Elixir and Erlang!
If you will be reading this 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 of what I’ve said above and partly because PE’s been updated more recently - so when you’re done you will be relatively ‘up-to-date’ ).
Overall, this book definitely gets a huge from me! If you haven’t got it - get it! Well done @sasajuric - I can’t wait to see what you put out next!
Thanks for this! It always makes me happy to learn people enjoyed the book.
FWIW, Manning and I have been discussing the update option, and it looks like it might happen soonish. We’ve still not closed the deal, but there’s definitely interest on both sides to update the content to the new version. Stay tuned for more info
[facetious on]
But we don’t have a “Build your own Phoenix framework” that uses unit testing to explore the best practices regarding Elixir functional programming, meta-programming and OTP development (and of course testing) that went into creating Phoenix.
“Don’t code blindfolded. Attempting to build an application you don’t fully understand, or to use a technology you aren’t familiar with, is an invitation to be misled by coincidences.”
– Dave Thomas & Andy Hunt, Programming by Coincidence, from The Pragmatic Programmer.
I must say that I agree that you can never have too many good books plus everyone is different, one author might have a greater following in some circles while others in another.
When you find an author who’s writing style really suits you - you hold on to them! I am still trying to get @russolsen to write an Elixir or Phoenix book
Russ Olsen writing a book would be great, and I think that elixir resembles Ruby only superficially, but is much more similar to clojure (without parenthesis).
It’s his writing style that I love (and what I was trying to highlight here, that book authors very often get a following by those who their work resonates with ) (PS in case you didn’t know, Russ has been in to Elixir for some time - I wouldn’t dream of asking a non-Elixirist to write an Elixir book )
Just reading Elixir in Action now - and so far I think it’s really great. Here is a link to a nice post from the author which outlines how Elixir/Erlang have changed a little since the book was written - good to have a look at it if you’re reading the book… http://theerlangelist.com/article/eia_elixir_12
I’m happy to inform you that Manning and I have reached an agreement for the second edition. The new version will be a mechanical update addressing the obsolete stuff (such as HashDict), and explaining some new features (e.g. the with special form and the Registry).
I also have some ideas for expanding the book (covering some additional topics, and maybe doing some minor restructuring), but this will require much more work, so it will be done in some subsequent edition, possibly combined with a more significant update (e.g. to Elixir 2.0).
Timewise, I’m currently tied up in prepping a workshop and a talk, so I’ll start working on this beginning November. I expect to be finished somewhere in the 2nd quarter of 2018.
MEAP for EiA is finally out (see here). You can grab it at 50% with the code mljuric2 (valid until February 23rd). If you have the 1st edition, I think you can get a better discount for ebook, but you need to check with Manning about that.