Jemima Abu
A Guide To Functional Programming
#1about 2 minutes
Core principles of functional programming
Functional programming builds programs using pure functions, immutable values, and higher-order functions to minimize side effects.
#2about 2 minutes
Benefits of adopting a functional paradigm
Writing functional code leads to more readable, testable, and reusable programs while avoiding common issues like `this` context in JavaScript.
#3about 2 minutes
Writing functional JavaScript with React components
Transitioning from class components to functional components with hooks is a practical example of applying functional principles in a JavaScript application.
#4about 3 minutes
Understanding and writing pure functions
A pure function always returns the same output for the same input and avoids dependency on global variables to ensure predictable results.
#5about 2 minutes
Maintaining immutability in JavaScript
Avoid mutating original data structures like arrays by using techniques such as the spread operator to create new instances.
#6about 1 minute
Using higher-order functions for clean code
Higher-order functions like map and reduce process data structures without mutating the original value, leading to safer and more declarative code.
#7about 1 minute
Identifying and minimizing side effects
Side effects are any changes outside a function's return value, such as logging or mutating global variables, which should be minimized.
#8about 2 minutes
Real-world applications of functional programming
Functional principles are applied in modern development through tools like React functional components, Redux reducers, and atomic design systems.
#9about 4 minutes
Managing necessary side effects in applications
Handle unavoidable side effects like API calls, logging, and routing by isolating them using middleware patterns like Redux epics or observables.
#10about 6 minutes
Audience Q&A on functional programming concepts
The speaker answers audience questions about organizing large functional codebases, the cons of FP, using libraries like Immutable.js, and performance implications.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
10 must-know design patterns for JS Devs
Erick Wendel
Using backend languages for frontends: Why ClojureScript is an awesome idea!
Tobias Schröder
What the heck do "declarative" and "reactive" actually mean?
André Kovac
All you need is types
Tal Joffe
Things I learned while writing high-performance JavaScript applications
Michele Riva
Web development: where are we, and where are we going?
Laurie Voss
JavaScript the Grumpy Parts
Rob Richardson
Component styling in a JS world — evolve your mental model
Maximilian Heinrich
From learning to earning
Jobs that call for the skills explored in this talk.
![Senior Software Engineer [TypeScript] (Prisma Postgres)](https://wearedevelopers.imgix.net/company/283ba9dbbab3649de02b9b49e6284fd9/cover/oKWz2s90Z218LE8pFthP.png?w=400&ar=3.55&fit=crop&crop=entropy&auto=compress,format)

Senior Software Engineer [TypeScript] (Prisma Postgres)
Prisma
Remote
Senior
Node.js
TypeScript
PostgreSQL






Angular Developer
Picnic Technologies B.V.
Amsterdam, Netherlands
Intermediate
Senior
RxJS
Angular
TypeScript
Fullstack developer (Node.js/TypeScript + React + AWS)
PRAGMATIKE
Municipality of Madrid, Spain
Remote
REST
NoSQL
React
Node.js
+3
Functional Engineer (Haskell,Nix)
Modus Create
Iserlohn, Germany
Remote
Senior
API
Erlang
Clojure
Blockchain
+2
Functional Engineer (Haskell,Nix)
Modus Create
Zürich, Switzerland
Remote
Senior
API
Erlang
Clojure
Blockchain
+2





