Jump to ratings and reviews
Rate this book

Learn Functional Programming with Elixir: New Foundations for a New World

Rate this book
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 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. What You You'll need a computer and Elixir 1.4 or newer version installed. No previous functional programming or Elixir experience is required. Some experience with any programming language is recommended.

181 pages, Paperback

Published April 3, 2018

35 people are currently reading
146 people want to read

About the author

Ulisses Almeida

3 books2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
33 (36%)
4 stars
40 (44%)
3 stars
14 (15%)
2 stars
3 (3%)
1 star
0 (0%)
Displaying 1 - 20 of 20 reviews
Profile Image for Vitor.
16 reviews8 followers
September 9, 2018
This book teaches you the basics of functional programming using Elixir. It is not a deep dive, but it helps you to learn the basics of Elixir. Don't expect to finish this book and start building web applications or feeling confident with Elixir. There are other books for it.
Profile Image for Sebastian Gebski.
1,175 reviews1,303 followers
Read
January 11, 2019
Only for beginners - who don't know Elixir and have no prior experience with FP.
No prior assumptions regarding skills/knowledge, what makes this book very approachable, BUT it will not suffice for long.

Pros? The author teaches you Elixir not syntactical construct by syntactical construct, but rather idiomatic concept by idiomatic concept - I like this way of thinking.
Cons? FP is limited to very simple concepts - basic error monad appears in one of the final chapters (as an element of railway oriented programming) & I couldn't help the feeling that in terms of FP this book barely scratches the surface.

I can't recommend this book honestly, but I'm not in the target audience. It's very approachable, so maybe neophytes (who don't care what OTP is ... yet) will love it. I was simply bored - I expected more functional modelling or AT LEAST some recipes e.g. on how to deal (in a functional way) with more realistic, complex (e.g. nested) data structures (lenses, etc.).
Profile Image for Geoff Lanotte.
164 reviews7 followers
January 12, 2018
A very good book. This book is focused toward beginners, those with no experience in elixir or very little will definitely benefit the most from this book. The language is clear and prose is surprisingly good for a technical book. There is a good balance of guidance vs. self-study exercises. I particularly enjoyed the way it focused on the concepts vs the semantics of the language. Perhaps it is the way I learn, but I found it much easier to read than exhaustively going through all of the operators and their functions. I particularly enjoyed the section on recursion and tail recursion, it was extremely well presented and is a model for how to present these kinds of concepts.

And while geared toward beginners in elixir, I would recommend this to anyone coming to elixir from a pure OO background, some components will be review but it can help with functional concepts that might still not be natural.
Profile Image for Herminio Torres.
7 reviews2 followers
July 29, 2020
Its a good book focus on the concepts of functional programming.

It can find content about pure, impure, and anonymous functions, monads, pattern matching.

It wouldn't be previous knowledge with programming to understand and push forward.

Every chapter has a section to challenge you to improves your skills related to the content.

It opens your mind to learn more about the elixir and it encourages you to continue your pathway.

It wouldn't see any bigger in the book because isn't of the propose of the book has something deeper or density.

I really enjoy read the book because of the concepts and makes me think differently.
Profile Image for Gábor Hajba.
139 reviews3 followers
September 27, 2017
I liked the book; it covers the functional approach in Elixir very good. It is great for beginners and gives a good foundation to get started with advanced topics like OTP, Phoenix or metaprogramming.

What I liked the most was a sample project where you can apply everything you've learned, and the result is a simple, console-based RPG.
Profile Image for Peter Aronson.
395 reviews18 followers
June 8, 2022
A cute little book that introduces functional programming, mostly not by explanation, but by example. Which is good, since when it does talk about functional programming, it tends to say things like functional programming is a new paradigm (what an overused word!) or that imperative programming focuses on how to solve a problem and functional programming focuses on what is necessary to solve a problem, that I don't find this sort of thing particularly convincing . (I'm inclined to consider functional programming to be a particular style of imperative programming (it's not like SQL or Prolog); as Mephistopheles said: "Why, this is hell, nor am I out of it." ;))

But the book does a very nice job of teaching you how to program in Elixir in a clean, functional manner (even if it is a fairly shallow dive into functional programming) in a step-by-step manner where the functional idioms just come naturally. The example is a small text adventure game that you add features to over the course of the book. Much better (to my taste) than the usual rather dull (if realistic) examples many books use to teach programming.
Profile Image for Vadym Ozarynskyi.
22 reviews
February 14, 2024
First of all, I had a lot of fun just reading and doing "homework" in each chapter. I don't have any experience in Elixir so this book showed me this universe.
Book was fun to read and it's not dense with language intricacies and details, it just shows you the basics so my Object Oriented brain starts to comprehend what is the difference here with Functional language and how to work with it.
Recommend this book if you just want to try Elixir but don't want to go hard into all the details and all the specifications of the language.
I would say it is a light coverage of the language that was a great start of Elixir journey for me
1 review
May 18, 2021
As someone new to Elixir, I liked the book very much.
I mainly bought it for the language content and didn't want to start if off with a comprehensive book - i just wanted to get a feel for Elixir.
And the book didn't disappoint me!
Profile Image for Adolfo Neto.
58 reviews12 followers
March 12, 2018
Great book for those that want to learn the fundamentals of Elixir and functional programming. It has taught me a lot. Ulisses is a great writer. He made the text light and fun.
Profile Image for Jan.
88 reviews9 followers
January 7, 2019
Well written introduction to the Elixir language and functional paradigm. Exercises could be more challenging but the book targets beginners so its justified.
Profile Image for Peter Rybarczyk.
95 reviews9 followers
January 10, 2019
Really nice book about the basics of functional programming and Elixir. If you are a beginner in one of those, you will not waste your time reading it.
Profile Image for Bodo Tasche.
97 reviews12 followers
February 13, 2019
A really nice introduction for people new to the functional world. Also suited for people that are beginning their career as developer.
Profile Image for Norent Khy.
56 reviews2 followers
May 8, 2021
1. My first Elixir book.
2. It got me excited about Elixir.
3. I enjoyed modifying DungeonCrawl much more than I thought I would. <3
Profile Image for Cuggiah.
278 reviews
September 20, 2021
Argomento estremamente specialistico per la programmazzione. In particolare per la programmazione Funzionale moderna.
Profile Image for Pavel.
13 reviews1 follower
February 28, 2019
Too basic, first half of the book is for simplest things with examples like Fibonacci function. Second half contains practical examples so the book can be used as a tutorial how to get a running app on Elixir. Haskell books or Odersky’s Scala bool are much better in terms of general knowledge.
Profile Image for Romenig Lima.
7 reviews3 followers
January 26, 2019
Good book for learn functional programming with Elixir.
Good book for th beginners.
Displaying 1 - 20 of 20 reviews

Can't find what you're looking for?

Get help and learn more about the design.