Get Started With Functional Programming
Minimum price
Suggested price

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!)

  • Share this book

  • Categories

    • Functional Programming
    • JavaScript
    • Software
    • Computer Science
  • Feedback

    Email the Author(s)

About the Author

Goran Jovic
Goran Jovic

Goran is a passionate software engineer and educator with a deep expertise in functional programming. With a profound understanding of programming principles, he excels in distilling complex concepts into accessible and engaging learning materials.

As an advocate for clean, modular, and maintainable code, Goran has dedicated significant time to exploring the nuances of functional programming paradigms. Through his work, he has helped countless developers navigate the intricacies of functional programming, empowering them to create more elegant and efficient software solutions.

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 $13 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

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub