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.
Matching moments
00:03 MIN
Shifting from object-oriented to functional programming
F#, path to functional enlightenment
00:03 MIN
Introduction to JavaScript design patterns
10 must-know design patterns for JS Devs
03:51 MIN
The core concept of pure functions versus side effects
Java with a Clojure mindset
02:21 MIN
Understanding functions as mathematical concepts
F#, path to functional enlightenment
07:37 MIN
Using higher-order functions like map, filter, and reduce
Using backend languages for frontends: Why ClojureScript is an awesome idea!
25:14 MIN
Audience Q&A on patterns, typescript, and frameworks
10 must-know design patterns for JS Devs
41:25 MIN
Q&A on type systems and legacy code
Typed Security: Preventing Vulnerabilities By Design
28:16 MIN
Designing with a functional core and imperative shell
Java with a Clojure mindset
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




Principal JavaScript Performance Engineer (with C++ / Java / C# exposure) - London
techstack Recruitment
Charing Cross, United Kingdom
Remote
€75K
C++
Java
React
+4
Proficient Software Engineer - Node - React - GraphQL (m/f/x)
Atolls
Berlin, Germany
MVC
NoSQL
React
Vue.js
NestJS
+8


