O'Reilly logo
  • Kishan Patel thinks this is interesting:

The perhaps larger implication of encapsulation in a language such as Java is that functions have been degraded to a means of mutating data inside a specific type of object.


Cover of Reactive Web Applications: With Play, Akka, and Reactive Streams


This is a really great remark. In functional programming, functions are primarily used in mathematical sense, as black boxes that take input and produce output, rather than means of mutating data inside an object.