Java 8 issues: No functional data structures No memoization, no lifting No pattern matching No Tuple Only 3 monadic containers Lack of Stream/Optional in APIs Checked exceptions in functions Type pollution list.stream().map(...).collect(toList()) ... 8
Potential inputs: params instance state global state Potential outputs: returned value mutable instance state mutable global state mutable params exceptions 12
"Functional programming is about writing pure functions, about removing hidden inputs and outputs as far as we can, so that as much of our code as possible just describes a relationship between inputs and outputs." http://blog.jenkster.com/2015/12/what-is-functional-programming.html 15