2.9 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	aliases
| aliases | |
|---|---|
  | 
up:: paradigme de programmation #s/informatique
[!definition] programmation fonctionnelle La programmation fonctionnelle est un paradigme de programmation dans lequel :
- les programmes sont exprimés comme des arbres d'expressions
 - le contrôle de flot est fait en combinant des fonctions plutôt qu'en assignant des valeurs
 
- utiliser des fonction d'ordre supérieur
 - ne pas utiliser d'programmation.état
 - ne pas utiliser d'entrée/sortie cachée (en sortant du champ local)
 - les fonctions sont (le plus souvent, le plus possible) fonction pure (limiter au maximum / complètement programmation.effet de bord) ^definition
 
Définitions
[!cite]+ Programming Paradigms - Page In functional programming, control flow is expressed by combining function calls, rather than by assigning values to variables: ^8L7P34B2aLQGLTH3Dg5383243
[!cite]+ What Is Functional Programming? - Page Functional programming is about writing pure functions, about removing hidden inputs and outputs as far as we can, so that as much of our code as possible just describes a relationship between inputs and outputs. ^IU2KWY7La8P4TX53Jg5383243
[!cite]+ Why Functional Programming Matters - Page 1 !images/zotero/5383243WSXGN3RM.png
[!note] Notes programme écrit comme des fonctions qui reçoivent l'entrée en argument et renvoie le résultat. ^WSXGN3RMaH9SGRTMQg5383243p1
Avantages
La programmation fonctionnelle permet :
- d'éviter les programmation.effet de bord, puisqu'ils sont intertits / impossibles.
- une fonction n'a aucun autre effet que de calculer son résultat
 - ordre d'éxécution indifférent
- aucun programmation.effet de bord ne peut changer la valeur d'une expression, elle peut être évaluée n'importe quand
 - permet de ne pas s'occuper du contrôle de flot
 
 - permet de remplacer une expression par sa valeur sans changer le résultat
 
 - d'être plus proche du formalisme mathématique
- les fonctions en programmation sont proches des fonctions en programmation fonctionnelle
 - cela permet de mieux appliquer les théories mathématiques
 
 
[!cite]+ Why Functional Programming Matters - Page 1 !images/zotero/538324358PSUPND.png ^58PSUPNDaH9SGRTMQg5383243p1