Jump to ratings and reviews
Rate this book

Becoming Functional: Steps for Transforming Into a Functional Programmer

Rate this book
If you have an imperative (and probably object-oriented) programming background, this hands-on book will guide you through the alien world of functional programming. Author Joshua Backfield begins slowly by showing you how to apply the most useful implementation concepts before taking you further into functional-style concepts and practices. In each chapter, you’ll learn a functional concept and then use it to refactor the fictional XXY company’s imperative-style legacy code, writing and testing the functional code yourself. As you progress through the book, you’ll migrate from Java 7 to Groovy and finally to Scala as the need for better functional language support gradually increases.

134 pages, Paperback

First published January 1, 2014

20 people are currently reading
137 people want to read

About the author

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
9 (7%)
4 stars
21 (16%)
3 stars
53 (41%)
2 stars
36 (28%)
1 star
8 (6%)
Displaying 1 - 17 of 17 reviews
Profile Image for Peter Aronson.
401 reviews20 followers
June 26, 2018
Two-and-a-half stars. Kind of a meh introduction to functional programming. The examples .. didn't actually show any real advantage to functional programming. If I hadn't played around a bit with Clojure a year or two back, I would have concluded that functional programming was just a jumble of techniques, some of which were useful sometimes, and others of which were pointless. But the book is, aside from the poor examples, reasonably clearly written and mercifully short.
4 reviews1 follower
March 4, 2018
I have mixed feelings about this book — from a content point of view it’s excellent! The format was very approachable (if you’re familiar with Java) and it was a fun, short book to read. It’s a *very* basic book though, so if you’re already familiar with functional concepts don’t expect to have your mind blown.
Profile Image for Marco.
16 reviews1 follower
June 22, 2018
I don't understand who should be the target audience for this book, it's to easy for anyone who already knows about functional programming but it's a little shallow for someone interested but without any knowledge about it.

The narrative about the XXY company add little to nothing and it's quite removed to my experience.

The choice of the examples are not that good if I was reading this book to make the transition I would have dropped the idea after the first chapter.

For some reason the epub I got from Humble Bundle have really large font for the math formulas using a Kobo Aura HD.
Profile Image for Az Vera.
Author 1 book8 followers
May 15, 2019
Great introduction to functional programming for those that come from other backgrounds.

Help gain a better understanding of a lot of the basic principles and shift into a functional paradigm from an imperative one.
Profile Image for Giorgio.
6 reviews
October 5, 2022
This book is very good in introducing Functional concepts to those who come from OO.

It walks through an OO example while migrates to a Funcional approach of it, using both Groovy and Scala, so the reader understand how to apply Functional concepts in an OO project/feature.
The author also presents a very cool alternative on how to use pure Java 7 (before the introduction of Functional concepts on Java 8) to write in a funcional way on a pure OO system, without moving to a full functional language.

It's very didactic, well explained and well shown.
It's a good starting point for those who wants to migrate from OO to Functional, or at least understand Functional concepts.
But if you’re already familiar with functional concepts don’t expect to have big insights.


--- Portuguese Version

Este livro é muito bom em introduzir conceitos funcionais para quem vem de OO.

Ele percorre um exemplo OO enquanto migra para uma abordagem Funcional dele, usando Groovy e Scala, para que o leitor entenda como aplicar conceitos Funcionais em um projeto/recurso OO.
O autor também apresenta uma alternativa muito legal de como usar o Java 7 puro (antes da introdução dos conceitos funcionais no Java 8) para escrever de forma funcional em um sistema OO puro, sem passar para uma linguagem totalmente funcional.

É muito didático, bem explicado e bem mostrado.
É um bom ponto de partida para quem deseja migrar do OO para o Funcional, ou pelo menos entender os conceitos do Funcional.
Mas se você já está familiarizado com conceitos funcionais, não espere ter grandes insights.
Author 3 books3 followers
January 12, 2019
Maybe, just maybe I would have enjoyed this book more if the Java 8 features are not available yet. But even then: I am not really sure who the target audience is. There are no real introductions in functional concepts but on the other hand the DRY principle is explained as if it's some lost knowledge.
Profile Image for Stijn.
Author 11 books9 followers
June 5, 2017
There weren't any concepts that I wasn't familiar with, but it was interesting to got the information in another way. Nice!
55 reviews2 followers
February 24, 2018
The first book I read from the Humble Functional Bundle.

Less a book than a pamphlet about the very basics of functional programming.

All the samples were poor Java to poor Scala.
8 reviews
March 28, 2018
More like an article than a book, still good basic introduction to the subject.
54 reviews
August 8, 2018
Nice review of basic concepts, also a good start for someone who doesn't know the concepts. Was really quick to read, even too much, but quite nice for listing the concepts as a referesher.
Profile Image for Stijn.
71 reviews
August 13, 2014
The book discusses various functional programming concepts by refactoring imperative Java code to a more functional style. If you are already familiar with those concepts, you won't find much extra in here as the examples are quite basic. They merely illustrate the technique, but don't show enough use cases. As someone with a decent knowledge of C# and LINQ, I expected to learn more about when to apply what in real life situations, but this was not the case.

It's not clear to me who would benefit from this book. As for a true beginner in functional programming, the various chapters are quite short (could be more detailed) and the examples in Java aren't very convincing in terms of elegance and simplicity. E.g. recursion with tail optimization is show on a list count. Who would write that in Java?
Of course Java is not really intended for this, which the author understands and counters by introducing Groovy and Scala code samples, but that's basically telling people to switch over to a functional language (which I thought was not the intention of this book).
These languages are shown with sample code, but without proper introduction, so a specific book on them would a better fit for you.
Profile Image for Rene Stein.
234 reviews36 followers
June 11, 2014
Knihu jsem četl hlavně proto, že jsem nucen v poslední době vysvětlovat některé konstrukce z C++ 11, které používám pro psaní asynchronního/paralelního kódu vývojářům, kteří znají dobře jen Javu bez lambda výrazů a C++ 98. Doufal jsem, že v této knize najdu výklad, jak přiblížit některé konstrukce javistům.

Bohužel kniha končí tam, kde by teprve začínalo nějaké zajímavé téma.

Sice se dovíte něco o imutabilních typech, rekurzi, "higher order" funkcích atd., ale jde spíš o rychlý úvod než o nějaký soustavný výklad. Kromě ukázky některých konstrukcí v Javě 7 (bez lambda funkcí) je v knize i úvod do Groovy a Scaly, ale nečekejte, že budete schopni po přečtení této knihy ve Scale napsat nějaký rozsáhlejší projekt.

Můj nejsilnější dojem z knihy je, že Java 7 působí oproti jiným jazykům neskutečně zastarale a neohrabaně.
130 reviews1 follower
June 27, 2016
This book starts with Java then transitions into Groovy and Scala. It is an alright introduction to basic functional programming concepts, with chapters covering first-class functions, pure functions, immutable variables, recursion, non-strict evaluation, and pattern matching.

Somewhat frustratingly, the book only features Java 7 before transitioning into Groovy and Scala, so is not a particularly good resource for someone trying to be more functional in Java 8 or C#.
6 reviews
June 7, 2014
I picked up this book to see if I can do more functional programming in Android. I did pick up a few tricks, but the author went with groovy and scala half way through. Not useful in my case but still a good short read.

Profile Image for Zdk.
19 reviews
May 26, 2014
Nice way to summarise functional programming idea.
But it's Java centric examples. So, if you are not familiar with Java, find other books.
Profile Image for Nelson.
11 reviews1 follower
March 23, 2015
Not a bad starter but immutable variables are taken too far when immutable objects is really the concept.
Displaying 1 - 17 of 17 reviews

Can't find what you're looking for?

Get help and learn more about the design.