#Why Functional Programming Matters (to me)
This is my response to being asked not to use functional programming techniques.
###What I mean by "Functional Programming"
Different people mean different things by "Functional Programming". Here's what it means to me:
- Functions are first class, fundamental atoms of software, and proper functional programming languages allows passing functions as arguments, assigning them to variables, and composing them together to form new functions.
- Strong Static Typing prevents many common programming errors automatically.
- Null pointer dereferences can by virtually eliminated using Optional/Option/Maybe/Either data types to explicitly represent empty or error conditions.
- Together with sum types, strongly typed languages can automatically perform local totality checking, informing the programmer when a logical branch is not handled.