Fully updated to Elixir 1.15, this authoritative bestseller reveals how Elixir tackles problems of scalability, fault tolerance, and high availability.
Thousands of developers have learned to build applications in Elixir by using Saša Juric’s Elixir in Action. You’ll skip the programming basics or 101 introductions; this book builds on your existing knowledge to get you quickly writing real Elixir code. Along the way, you'll develop an appreciation for, and considerable skill in, functional and concurrent programming.
Inside Elixir in Action, Third Edition you’ll
Updates for Elixir 1.15 Elixir modules, functions, and type system Functional and concurrent programming Introduction to distributed system design Creating deployable releases Fully updated to Elixir 1.15, this book contains new coverage of working with application configuration and the latest OTP releases. It teaches you the underlying principles and functional concepts of Elixir, and how each piece fits into the bigger picture of building production-ready systems with Elixir, Erlang, and the OTP framework.
Foreword by Francesco Cesarini.
About the technology
With best-in-class fault tolerance and concurrency, a pragmatic approach to functional programming, and the power to operate at scale, Elixir is the perfect choice for mission-critical software. Start reading Elixir in Action, and you’ll quickly understand why Elixir creator José Valim says it “...tops the list” of Elixir books.
About the book
Elixir in Action, Third Edition teaches you how to create distributed applications and server-side systems using Elixir and the Erlang VM. This Third Edition from Elixir expert Saša Juric is fully updated to include the latest features of Elixir 1.15. In it, you’ll master the foundations of the language, discover how the OTP framework minimizes tedious boilerplate code, and explore numerous examples that ensure you’re learning hands-on.
What's inside
Elixir modules, functions, and type system Functional and concurrent programming Introduction to distributed system design Creating deployable releases About the reader
For programmers comfortable with client/server applications. No experience with Elixir, Erlang, or functional programming required.
About the author
Saša Juric uses Elixir and Erlang to build fault-tolerant, scalable, highly concurrent systems.
Technical editor on this book was Marius Butuc.
Table of Contents
PART 1 Functional Elixir 1 First steps 2 Building blocks 3 Control flow 4 Data abstractions PART 2 CONCURRENT ELIXIR 5 Concurrency primitives 6 Generic server processes 7 Building a concurrent system 8 Fault tolerance basics 9 Isolating error effects 10 Beyond GenServer PART 3 PRODUCTION 11 Working with components 12 Building a distributed system 13 Running the system
Software developer with many years of experience building server systems, as well as desktop applications, with a special focus on developing backend systems using Elixir and Erlang.
Es libro tradicional para aprender de un lenguaje de programación, pero tengamos en cuenta que Elixir es especial: es un lenguaje moderno que aprovecha el entorno de ejecución de un lenguaje más antiguo con ideas revolucionarias incluso para nuestra época, Erlang.
Aquí está el punto importante de "Elixir in Action", el autor es un experto primero en Erlang, que aprendió Elixir y su manera de enseñarte este lenguaje es profunda porque utiliza el conocimiento del entorno original para explicarte la razón de existencia de muchas cosas.
Otro punto muy bueno del libro es que es casi exhaustivo: empieza por la sintaxis y la estructura del lenguaje, pasa a la parte de la ejecución con los procesos y OTP (el framework de concurrencia de Erlang, que Elixir aprovecha) y termina explicándote cómo hacer aplicaciones para ponerlas en producción. La única parte que le faltó tocar es la metaprogramación que es un tema muy usado en Elixir, pero que para eso hay otros libros.
Mi punto de comparación en inglés (en español tenemos el "Elixir para Alquimistas" de Manuel Rubio) es "Programming Elixir" de Dave Thomas, que también es un libro excelente a su manera, cuando lo leí me gustó más en el sentido de que se siente como un libro de alguien con experiencia legendaria en desarrollo de sistemas, pero no tanta experiencia en este entorno de programación.
Creo que si lo que quieres es desarrollar una carrera en Elixir seriamente, empezaría por este libro.