update
This commit is contained in:
@@ -6,7 +6,13 @@ up:: [[paradigme de programmation|paradigme]]
|
||||
#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|état]]
|
||||
> - ne pas utiliser d'entrée/sortie cachée (en sortant du champ local)
|
||||
> -
|
||||
^definition
|
||||
|
||||
# Définitions
|
||||
@@ -22,3 +28,30 @@ up:: [[paradigme de programmation|paradigme]]
|
||||
> outputs.
|
||||
> ^IU2KWY7La8P4TX53Jg5383243
|
||||
|
||||
> [!cite]+ [Why Functional Programming Matters](zotero://select/groups/5383243/items/6RZUZSFR) - [Page 1](zotero://open-pdf/groups/5383243/items/H9SGRTMQ?page=1&annotation=WSXGN3RM)
|
||||
> ![[images/zotero/5383243WSXGN3RM.png|500]]
|
||||
>
|
||||
> > [!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|effets 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|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](zotero://select/groups/5383243/items/6RZUZSFR) - [Page 1](zotero://open-pdf/groups/5383243/items/H9SGRTMQ?page=1&annotation=58PSUPND)
|
||||
> ![[images/zotero/538324358PSUPND.png|500]]
|
||||
> ^58PSUPNDaH9SGRTMQg5383243p1
|
||||
|
||||
|
Reference in New Issue
Block a user