Menu toggle

Plan de la présentation programmation fonctionnelle

Objectif de la présentation :

  • Savoir reconnaitre et utiliser les principaux pattern de la programmation fonctionnelle
  • Passer un moment sympa et manger des pizza

Programmation fonctionnelle

Programmation purement fonctionnelle

  • Pas d’affectation
  • Répétabilité : même paramètres en entrée = même résultat en sortie

→ Facilite grandement les tests et la réutilisabilité
→ Language plus proche des spécifications : on explique ce que ça doit faire, pas comment le faire
→ Paralélisation plus simple

Programmation fonctionnelle impure

  • Affectation possible
  • Possibilité de travailler en orienté objet
  • Utilisation des patterns fonctionnels et impératifs dans le même language
  • Limiter les effets de bord

→ Présentation Scala

Les principaux pattern de la programmation fonctionnelle

Transparence référentielle et méthodes de substitutions

” A functional program is not a sequence of instructions. It is a single referentially transparent expression. Computation proceeds by substitution.”

Lazy Evaluation

Exemple Stackoverflow de lazy en scala

Streams

Exemple de stream infini

Fonctions

Les fonctions d’ordres supérieurs

p25 de https://speakerdeck.com/elise_huard/functional-programming-is-the-new-black → Monades

Currying

La récurcivité

Les structures immutables (listes…)

La gestion des erreurs, de la nullité…

Options, Try

La programmation fonctionnelle dans la vraie vie


Sources

FP

Scala

Reactive

Autres presentations