Skills à maîtriser

💙 Programmation fonctionnelle

<aside> 📘 Le "functional programming" (programmation fonctionnelle) est un paradigme de programmation qui met l'accent sur l'utilisation de fonctions pures, sans état et immuables, en évitant les effets de bord. Il favorise :

pour résoudre les problèmes de programmation, en mettant l'accent sur la clarté, la prévisibilité et la facilité de test du code.

</aside>

Introduction générale

https://www.youtube.com/watch?v=8z_bUIl_uPo

Le paradigme fonctionnel est un peu différent de ceux que la plupart des gens connaissent. Dans cette vidéo retrouve ses caractéristiques générales sans parler d'un langage en particulier, et sans jamais mentionner la théorie des catégories.

Concept

What are functions all about? - Functional Programming explained to my grandma

La programmation fonctionnelle est un paradigme de programmation qui traite le calcul comme l'évaluation de fonctions mathématiques et évite les états changeants et les données mutables.

🔠 Dans un code fonctionnel, la valeur de sortie d'une fonction ne dépend que des arguments qui lui sont transmis. Par conséquent, appeler deux fois une fonction f avec la même valeur pour l'argument x produira le même résultat f(x) à chaque fois. C'est une des compostantes de la notion de fonction pure, avec l’absence “d’effet de bord” (modification des objets reçus en paramètre ou changement de valeur ailleurs que sur le résultat retourné).

Ces fonctions sont facilement composables (associées). C'est une manière élégante de concevoir des logiciels.

Comme la programmation fonctionnelle n'a pas d'effets secondaires, c'est une excellente façon de concevoir des programmes qui ont besoin de multithreading et d'évolutivité.

Retrouve plusieurs chapitres illustrés par des exemples sur :