Ulisses Almeida

Pragmatic Programmers

book eBook

40.0% 60.0% 0.0%

Check price

Learn Functional Programming with Elixir

New Foundations for a New World

Elixir’s straightforward syntax and this guided tour give you a clean, simple path to learn modern functional programming techniques. No previous functional programming experience required! This book walks you through the right concepts at the right pace, as you explore immutable values and explicit data transformation, functions, modules, recursive functions, pattern matching, high-order functions, polymorphism, and failure handling, all while avoiding side effects. Don’t board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally. This book will get you there.

Functional programming offers useful techniques for building maintainable and scalable software that solves today’s difficult problems. The demand for software written in this way is increasing—you don’t want to miss out. In this book, you’ll not only learn Elixir and its features, you’ll also learn the mindset required to program functionally. Elixir’s clean syntax is excellent for exploring the critical skills of using functions and concurrency.

Start with the basic techniques of the functional way: working with immutable data, transforming data in discrete steps, and avoiding side effects. Next, take a deep look at values, expressions, functions, and modules. Then extend your programming with pattern matching and flow control with case, if, cond, and functions. Use recursive functions to create iterations. Work with data types such as lists, tuples, and maps. Improve code reusability and readability with Elixir’s most common high-order functions. Explore how to use lazy computation with streams, design your data, and take advantage of polymorphism with protocols. Combine functions and handle failures in a maintainable way using Elixir features and libraries.

Learn techniques that matter to make code that lives harmoniously with the language.


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".


If you have a mentor to guide you then it might work, but if you're more on your own, I would recommend Ruby or Javascript. Maybe Learn Functional Programming with Elixir will feel this need, but currently there is nothing in Elixir like Learn Rails by Daniel Kehoe or The Ruby on Rails Tutorial by Michael Hartl that walk you through the basics of web development.


Aston @AstonJ
A post was split to a new topic: Learn Functional Programming with Elixir - coming soon from Pragprog


I'd be tempted to push Learn Functional Programming with Elixir forward first.


Ulissesalmeida @ulissesalmeida
In Learn Functional Programming with Elixir by Ulisses (what me?), it will guide you only though functional concepts and show you Elixir.