Ce concept permet de s'assurer de la valeur des variables du début à la fin de nos actions.
Cela va permettre d'avoir un code plus robuste et plus stable, donc moins de bugs et moins de maintenances.
Tout au long de notre script les variables ne peuvent être modifiées.
Des langages fonctionnels plus récents tels ML (1973), Haskell (1987), OCaml, Erlang, Clean et Oz, CDuce, Scala (2003), F# ou PureScript (2013), Agda (en) sont fortement typés.
En programmation fonctionnelle, une fonction est l'unité de manipulation principale.
En POO, un objet est l'unité de manipulation principale.
La programmation fonctionnelle prend principalement en charge l'abstraction sur les données et l'abstraction sur le comportement.