Jump to ratings and reviews
Rate this book

Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques

Rate this book
Summary

Functional Programming in JavaScript teaches JavaScript developers functional techniques that will improve extensibility, modularity, reusability, testability, and performance. Through concrete examples and jargon-free explanations, this book teaches you how to apply functional programming to real-life development tasks

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

In complex web applications, the low-level details of your JavaScript code can obscure the workings of the system as a whole. As a coding style, functional programming (FP) promotes loosely coupled relationships among the components of your application, making the big picture easier to design, communicate, and maintain.

About the Book

Functional Programming in JavaScript teaches you techniques to improve your web applications - their extensibility, modularity, reusability, and testability, as well as their performance. This easy-to-read book uses concrete examples and clear explanations to show you how to use functional programming in real life. If you're new to functional programming, you'll appreciate this guide's many insightful comparisons to imperative or object-oriented programming that help you understand functional design. By the end, you'll think about application design in a fresh new way, and you may even grow to appreciate monads!

What's Inside

About the Reader
Written for developers with a solid grasp of JavaScript fundamentals and web application design.
About the Author
Luis Atencio is a software engineer and architect building enterprise applications in Java, PHP, and JavaScript.
Table of Contents

272 pages, Paperback

Published June 18, 2016

44 people are currently reading
333 people want to read

About the author

Luis Atencio

6 books7 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
58 (41%)
4 stars
54 (38%)
3 stars
26 (18%)
2 stars
2 (1%)
1 star
0 (0%)
Displaying 1 - 20 of 20 reviews
Profile Image for N Swamy.
3 reviews
February 14, 2024
This helped me think approach JavaScript functionally instead of object-oriented. This highlighted a lot of bad coding practices I had been doing, so this helped me clean up my team’s codebase at work and maintain better coding habits. This will be a good reference material going forward.
Profile Image for Weekend Critic.
134 reviews3 followers
March 15, 2021
A good introduction on the subjects of functional programming.
Some topics are not explained very well. Some are explained via libraries that became largely obsolete in 2021. I would probably say that THIS IS NOT A BOOK FOR BEGINNERS, but honestly so is the whole topic of declarative functional programming.

Overall I would probably not recommend this book in 2021, however it was very good and useful in 2016.
Profile Image for Alexander Mostovenko.
28 reviews4 followers
August 16, 2016
Quite a good introduction to functional programming. Will teach you some basic concepts that will help you to write more reliable, modular and cleaner code. Recommended for novices in javascript. Maybe little bit less useful for someone who has prior experience with functional programming in languages like haskell, lisp e.t.c.
Author 1 book7 followers
October 24, 2016
An excellent and modern introduction to the world of functional programming. The best thing is, this book is filled with practical examples using some of the latest Javascript technologies out there. I highly recommend this book for anyone who is interested in a more thorough understanding of functional programming via the Javascript environment.
Profile Image for Jose Sbuck.
197 reviews4 followers
November 4, 2017
Good introductory book to functional programming. Well-structured and based on clear examples. Quite a few typos however (not that it matters much).
Profile Image for Hugh Rawlinson.
26 reviews6 followers
August 13, 2019
This was a great summary of functional JavaScript for developers already used to some JavaScript paradigm or other. For me, it loses a star (if Goodreads did half stars, it would be a half star) purely because it glossed over a few intricacies of pure functional programming for the benefits of those who haven't been exposed to an uncompromising (to the extent that it is possible) language like Haskell. I found myself sending quotes to my Haskell friends and watching them squirm. In the monad discussion of chapter 5, Atencio writes "But you'll see that having a typeless language like JavaScript [...] makes monads easy to read and frees you from having to deal with all the intricacies of a static type system". I don't necessarily agree with presenting types as an obstacle to understand monads. I would've preferred to see the author suggest that the reader explore further, and make their own mind up. That's easy to say in 2019, when typescript is as popular as it is. I read the 2017 edition of Functional JavaScript, which really drove home the sheer speed of iteration of the JavaScript ecosystem. Several references are now no longer considered best practices, and it was nostalgic for me to read about the thus far low adoption rates of what was still then called ES6. Typescript had not yet imbued the JavaScript community with a newfound love of compile time checks. I would love to read a "Functional Typescript" book in 2019 or 2020. These issues should not be problem for the reader without exposure to pure functional strictly typed languages with communities who read category theory theses - Functional JavaScript provides exactly what many JavaScript engineers need to gain utility and speed from functional principles, and I would recommend it to my colleagues.
6 reviews5 followers
June 23, 2017
The cover is a great summation: "How to improve your JavaScript programs using functional techniques."

This is a "gateway drug" for those who write JavaScript and are itching to sprinkle functional concepts into their code and take their JS to the next level.

The book is well structured, starting with motivating examples of converting emperative code into functional code. It's the first time I've seen code that looks similar to what I've written be improved in almost every way. The book constantly highlights the benefits of the techniques it teaches.

This isn't a book about turning you into a functional purist, but it's a set of tools that can be utilised to really improve certain code.
Read this if you want to get better, but also want to hear some fresh perspectives.

Since reading this book I've found it far easier to comprehend Haskell. I think writing boilerplate in JS has made it much easier to grok concepts which seem magic in Haskell.
Profile Image for MaxMu422 Mu.
9 reviews
January 19, 2020
I want to read this book for a very long time since it's basically recommended by a lot of Chinese blogs as the entry level material for functional programming using JavaScript. The book is well organized and all functions well explained using real-life code. I want to give this book 4.5 stars since for chapter 8 the author simply kinda skip Reactive programming using Rxjs just in like 5 pages, I really hope this can be covered in a slightly detailed manner (I know this topic itself can be it's own book but like 20 pages introduction can be a decent and acceptable amount for me to know whether I should buy Rxjs book from Manning). Anyway, since there is no 4.5 stars, I simply put 5 stars here.
This entire review has been hidden because of spoilers.
Profile Image for Jrabelo.
12 reviews2 followers
September 8, 2020
Pros:
- good functional programming foundation
Cons:
- the language itself is very bad(javascript)
- the book is using a couple of libraries to teach some of the core concepts of FP, it would be more useful to build a library from stratch
Profile Image for Ivan Koma.
386 reviews1 follower
December 27, 2022
Конечно устарело, сейчас многие пишут на ФП даже не осозновая этого, ну и плюс некоторые библиотеки хелперы уже тоже outdated
Profile Image for Juvoni.
98 reviews102 followers
April 2, 2017
A wide and yet in-depth instruction of functional programming. Making the paradigm shift from imperative to more functional programming has significantly improved my development skills. At first, it used to hurt my brain to try to think functionally, but refactoring my side projects, writing more functional code at work and reading this book have helped.

Some of the core benefits of functional programming are:
- It encourages you to decompose tasks into simple functions, which are more clear and easier to reason about.
- Data is processed using fluent chains.
- You decrease the complexity of event-driven code by enabling reactive paradigms
- Your code is easier to test as a pure function with no side effects have predictable inputs and outputs.
- You can write code that doesn't change state and significantly reduce bugs or decrease the complexity in tracking them down.

The book is divided into three parts, Think functionally, which explains the motivation and purpose behind functional programming, with contrasting examples with object oriented programming and more imperative coding practices to help you transition into thinking more functionally. Part 2, Get functional which explores core functional methods and implementations around variation data structures and real-world coding scenarios as well as functional design patterns. Part 3, Enhancing your functional skills, dives into more advanced concepts around error handling, asynchronous code, memoization, recursion and tail call optimizations as well as exploring some creative programming which uses observables to subscribe to asynchronous events and do function actions along this observable stream of data.

13 reviews
January 29, 2018
Great book for those who really wants to make the code cleaner. You just need to remap your brain to think in a some new different way. Must read!
Profile Image for Vlad Bezden.
237 reviews14 followers
July 31, 2016
Great book. I like how Luis describes functional programming, with providing great examples of functional and OOP. Examples are very clear and up to the point. I'm learning so much from this book about functional programming.
Profile Image for Rocky Madden.
9 reviews17 followers
May 29, 2018
4.5/5 -- Wonderful, albeit shallow at times, coverage of functional programming as it exists in JavaScript. Half a point off for numerous code typos and bugs.
Profile Image for Majid Hajian.
36 reviews2 followers
December 12, 2016
This book helps you understand how to implement fundamental of functional programming with Javascript
61 reviews6 followers
April 17, 2017
Quite enjoyed this book! I find now that I'm practicing functional JS that my level of enjoyment working in JS is significantly improved. Very much liked learning about the Ramda library. Would like to have seen more on RxJS, but of course there's another book for that.
Displaying 1 - 20 of 20 reviews

Can't find what you're looking for?

Get help and learn more about the design.