In a way, I found it amazing how much I unconsciously used functional style programming, not recognizing it for what it was.
For example, in Java, I actively use constructs in Commons collections, such as Transformer and Predicate, which are essentially closures, but implemented as Java interfaces. Then you use the provided utility functions to convert and filter items in the collection. This contradicts the βstandardβ imperative way of doing such things in Java.
This, of course, is a vanilla functional map and filter operations, but I instinctively used them, not understanding what it was. This suggests that the functional style is largely intuitive, even if you are not told about it.
skaffman
source share