La programmation fonctionnelle se base sur plusieurs principes comme : l'immutabilité, les fonctions pures (qui ne dépendent pas de l'état de la machine) et les lambda-calcul.
Aujourd'hui, nombreux sont les langages qui offrent une approche fonctionnelle au programmeur.