What Functional features are worth a little OOP confusion for the benefits they bring?

Posted by bonomo on Programmers See other posts from Programmers or by bonomo
Published on 2013-11-13T03:55:04Z Indexed on 2013/11/13 16:15 UTC
Read the original article Hit count: 654

After learning functional programming in Haskell and F#, the OOP paradigm seems ass-backwards with classes, interfaces, objects. Which aspects of FP can I bring to work that my co-workers can understand? Are any FP styles worth talking to my boss about retraining my team so that we can use them?

Possible aspects of FP:

  • Immutability
  • Partial Application and Currying
  • First Class Functions (function pointers / Functional Objects / Strategy Pattern)
  • Lazy Evaluation (and Monads)
  • Pure Functions (no side effects)
  • Expressions (vs. Statements - each line of code produces a value instead of, or in addition to causing side effects)
  • Recursion
  • Pattern Matching

Is it a free-for-all where we can do whatever the programming language supports to the limit that language supports it? Or is there a better guideline?

© Programmers or respective owner

Related posts about object-oriented

Related posts about programming-practices