Programarea funcţională (FP) este un concept destul de vechi apărut în anii ‘50 odată cu crearea limbajului Lisp. Se bazează pe “calculul lambda”, care e o ramură a matematicii introdusă în anii ‘30 de catre Alonzo Church.
Elementul central în FP sunt funcțiile și în general se lucrează cu structuri de date imutabile și funcții pure. În general limbajele funcționale oferă un set de unelte care uşurează mult lucrul cu funcții.