GoodReads Summary: Functional programming is fundamentally different from imperative programming. As such, it provides a unique approach to solving problems—one that requires developers to transform how they think about software design and implementation. With Imperative to Functional Programming Succinctly by Marc Clifton, you will learn many of the basic concepts involved with functional programming, such as currying, partial application, function pipelines, recursion, and continuations. By book's end, you will learn how to combine functional and imperative programming to get the most out of your solutions.

★☆☆☆☆

I know the "Succinctly" series doesn't go deep into a topic, but this book takes a step further by not even respecting its own title.

The correct title would be "C# to F# Succinctly".

The reason is that there isn't many explanations about "functional programming", in the general sense, in this book. Here, most things are explained in the F# context, which, as the author points, isn't a pure functional language.

Also, it goes great lengths to make code unreadable by avoiding proper variable names and using things like "hd" and "tl" (instead of, say, "user" and "remaining_users") and "racc" and "lacc" instead of "sum_right" and "sum_left" (although I could point that this seems like a functional programming thing).

So, again: Want to use your knowledge of imperative programming to learn functional programming? Sorry, not this book. Know C# and want to learn F#? Then you have something to read.