Get Started With Functional Programming
Get Started With Functional Programming
About the Book
The purpose of this book is to explain the main concepts in functional programming as simply as possible in a language agnostic manner. That is not to say that we will not use actual code - rather that the focus is not on implementation details of a specific language, compiler or platform, but on the concepts themselves.
The examples are provided as:
- drawings and diagrams
- pseudocode
- JavaScript - most of the time as simple as pseudocode, but you can actually run it!
- various other languages illustrating a specific point, e.g. HTML, CSS, SQL, Clojure and others.
Who is this book for?
Anyone who wishes to learn more about functional programming! Some working knowledge about programming basics may be helpful, but ultimately it's not a show stopper - just another thing to learn.
If you just started learning functional programming, my own personal recommendation is that you go through this book first, then master at least one concrete language and then go through it again as a refresher.
Who is this book NOT for?
Anyone who wishes to learn a specific technology. You will not learn Clojure or JavaScript or any other programming language. You will not learn a MapReduce framework or a BigData pipeline platform. You will learn the basic building blocks behind all those technologies, but that's just about it.
Anyone who wishes to use it as a reference index, academic source or anything similar. Whenever I had to choose between clarity and simplicity of explanations on one side and formal correctness on the other, I chose the simplicity. So, while you can quote the examples to your friends and colleagues and get some geek cred for it, you're not getting a Nobel for it (and neither am I!)
Table of Contents
-
Introduction
- About the book
- Who is this book for?
- Who is this book NOT for?
-
Programming paradigms
- Imperative programming
- Declarative programming
- Functional programming
-
Theory
- Pure functions
- Well-behaved imperative procedures
- Inherent impurities
- Intentional impurities
-
Practice
- Recursion
- Immutable data structures
- Higher order functions
- Lazy Evaluation
- Memoization
- Arity, partial application and currying
- Sequence transformations: map, reduce and others
-
What about side effects?
- Separation of concerns
- Encapsulation
- Idempotence
- Semantically insignificant side effects
-
Wrapping it up
- Key Concepts
- Epilogue
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
80% Royalties. Earn $16 on a $20 book.
We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them