What is Functional Programming (FP)
Functional programming (often abbreviated FP) is the process of building software by composing pure functions, avoiding shared states, mutable data, and side effects. Functional programming is declarative rather than imperative, and the application state flows through pure functions. Contrast with object-oriented programming, where application state is usually shared and colocated with methods in objects.
Resources
Lambda calculus forms the basis of all functional programming languages; which was development in the 1930s by Alonzo Church. The first functional programming language, LISP, was developed in the late 1950s.
There is a whole lot of content already exists on the web; so listing some of those here:
Posts:
General Concepts:
- Functional architecture - The pits of success - by Mark Seemann - in NDC Conferences
- Domain Modeling Made Functional - by Scott Wlaschin - in NDC Conferences
- The Functional Programmer’s Toolkit - by Scott Wlaschin - in NDC Conferences
- Functional Design Patterns - by Scott Wlaschin - in DevTernity Conference
Implementation in TypeScript:
- Building eDSLs in functional TypeScript
- A Real World Example of Functional Programming with fp-ts - Frederick Fogerty - CityJS Conf
If there are topics you are interested in you can easily add a comment and I can consider focusing in my next post on that direction.
More to come.. stay tuned..