An excellent video about Function Programming. Neal Ford emphasizes the fact that functional programming uses a different way of solving a problem, thinking about the results rather than the steps to make. infoq: Function Thinking video Related links: Java theory and practice: To mutate or not to mutate? Functional thinking: Thinking functionally, Part 1