A Functional programming

 

It’s anecdotal to say that learning FP makes you a better programmer. It’s true that FP provides an alternative, often simpler, way of thinking about problems. Moreover, many techniques from FP can be successfully applied to other languages. No matter what language you work in, programming in a functional style provides benefits.

FP is more a mindset than a particular set of tools or languages. Getting familiar with different programming paradigms is what makes you a better programmer, and a multiparadigm programmer is more powerful than a polyglot programmer. Therefore . . .

With the technical background having been sorted out in the chapters of this book, this appendix doesn’t cover the aspects of FP applied to concurrency, such as immutability, referential transparency, side-effect-free functions, and lazy evaluations. Rather, it covers general information about what FP means and the reasons why you should care about it.

What is functional programming?

FP means different things to different people. It’s a program paradigm that treats a computation as an evaluation of an expression. A paradigm in science describes distinct concepts or thought patterns.

FP involves using state and mutable data to solve domain problems, and it’s based on lambda calculus. Consequently, functions are first-class values.

The benefits of functional programming

 
 

The tenets of functional programming

 
 
 
 

The clash of program paradigms: from imperative to object-oriented to functional programming

 
 
 

Higher-order functions for increasing abstraction

 
 

HOFs and lambda expressions for code reusability

 
 
 

Lambda expressions and anonymous functions

 
 

Currying

 
 
 
 

Partially applied functions

 
 

Power of partial function application and currying in C#

 
 
 
 
sitemap

Unable to load book!

The book could not be loaded.

(try again in a couple of minutes)

manning.com homepage