Programmation fonctionnelle

Attention : ce programme contient des mots compliqués et du WAT.

Les fonctions

Vous connaissez ?

Vous en utilisez?

Vous avez des exemples?

Fonctions en maths != Fonctions en programmation

Une fonction en maths

 

Procédure à laquelle on donne un argument et qui renvoie un résultat (toujours le même).

Une fonction en programmation

 

Peut être non-déterministe

Peut renvoyer des erreurs

Peut prendre plusieurs arguments

Peut nécessiter des paramètres supplémentaires

Peut avoir des effets sur le monde extérieur

Si une fonction correspond strictement à la définition en maths, on parle de fonction pure.

Et on entre dans le domaine de la programmation fonctionelle.

Programmation fonctionnelle

Pourquoi?

La programmation fonctionnelle repose sur des fonctions pures.

En conséquence :

- le code est plus simple à comprendre,

- on limite les bugs parce qu'il n'y a pas d'effets de bord,

- les fonctions pures peuvent être exécutées dans n'importe quel ordre voire en parallèle.

Haskell

Somme des entiers de 1 à 10.

  • En JS
  • En ES6
  • En Haskell

Exemple

Haskell + FP

By LauDev

Haskell + FP

Haskell and functional programming as a way to produce better code.

  • 401