Tuesday 2 December 2014

Functional Programming for Correctness

In addition to being very close to mathematical foundations, functional programming provides the following advantages for constructing correct software:
  • No null reference exceptions!
  • Pure functions and immutable data structures minimize issues related to side effects, including concurrency issues. They are also much easier to test, especially with a QuickCheck-style framework.
  • Powerful type system encodes and statically assures crucial domain properties as well as assists in code refactoring.
  • Thanks to mathematical notation and type inference functional languages are very concise, that is have less noise in the code, thus are easier to read and maintain.

No comments:

Post a Comment