The Microsoft Developer Network (MSDN) has a great series of
articles contrasting object-oriented (imperative) programming with functional programming, and tips for transitioning to the latter:
“This topic introduces the concepts and terminology of pure functional transformations. The functional transformation approach to transforming data yields code that is often quicker to program, more expressive, and easier to debug and maintain than more traditional, imperative programming.”
If you’ve been struggling to wrap you head around some of the functional programming concepts I’ve talked about so far, these articles might help!