Dano Manion

Functional Programming Notes

Learning a programming language requires getting acquainted with its syntax, the set of forms and structures that make up legal programs, and semantics, the meaning or behavior of those forms.

  • Functions are King!
    • You want to do everything with functions.
      • input --> output
  • Potentially more secure
  • Less opportunities for bugs
  • Is it’d own paradigm. A different way of thinking.
  • “Ideas are the currency of our trade.”
  • Functional programming lends itself to distributed work processes
  • Don’t iterate, instead use Map, Reduce, and Filter
  • Avoid Mutability. Don’t change data in place.
  • Persistent data structures for efficient immutability
  • Less bugs (Easier to reason about) in less time (Re-use more code)

Terms

Examples

# A Pure Function in JavaScript
function greet(name) {
	return "Hi, my name is " + name;
}

console.log(name("Bobbie"));

Sources

  1. Seven More Languages in Seven Weeks
  2. Anjana Vakil: Learning Functional Programming with JavaScript - JSUnconf 2016
  3. An introduction to functional programming
  4. [Declarative programming - Fun Fun Function](https://www.youtube.com/watch?v=yGh0bjzj4IQ
  5. Higher-order functions - Part 1 of Functional Programming in JavaScript