© Adam L. Davis 2019
Adam L. DavisLearning Groovy 3https://doi.org/10.1007/978-1-4842-5058-7_9

9. Functional Programming

Adam L. Davis1 
New York, NY, USA

Functional Programming (FP) is a programming style that focuses on functions and minimizes changes of state (using immutable data structures). It is closer to expressing solutions mathematically rather than step-by-step instructions.

In FP, functions should be “side-effect free” (nothing outside the function is changed) and referentially transparent (a function returns the same value every time when given the same arguments).

FP can be seen as an alternative to the more common imperative programming, which is closer to telling the computer the steps to follow.

Although functional-programming can ...

Get Learning Groovy 3: Java-Based Dynamic Scripting now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.