cours/fonction vs procédure.md
Oscar Plaisant 03a5034ca4 update
2024-03-31 23:15:58 +02:00

2.4 KiB

up:: programmation.fonction, programmation.procédure #informatique

[!definition] Différence entre fonction et procédure La fonction à une connotation plus mathématique, la procédure une connotation plus programmatique Les différences exactes peuvent changer selon le contexte. Voici les principales distinctions :

  • les fonctions sont fonction pure, les procédures peuvent avoir des programmation.effet de bord
    • cependant, certains auteurs parlent aussi de fonctions-fonction pure
  • les procédures ne retournent pas de valeurs, les fonctions retournent une valeur
  • les fonctions sont le concept mathématique, les procédures sont l'implémentation programmatique de ce concept
    • cependant, on parle souvent de fonction pour le concept implémenté
  • les fonction sont de la connaissance déclarative, les procédures de la connaissance impérative
    • définition dans abelsonStructureInterpretationComputer1996
    • les fonctions sont définies par le comportement qu'elles doivent avoir
      • exemple: \begin{align} \sqrt{ \cdot } \;:\; & \mathbb{R} \to \mathbb{R}^{+}\\ &x \mapsto y \text{ tel que } y^{2} = x \end{align}
    • les procédures sont définies par la façon de les calculer

[!cite]+ Structure and Interpretation of Computer Programs - Page 28 The contrast between function and procedure is a reflection of the general distinction between describing properties of things and describing how to do things, or, as it is sometimes referred to, the distinction between declarative knowledge and imperative knowledge. In mathematics we are usually concerned with declarative (what is) descriptions, whereas in computer science we are usually concerned with imperative (how to) descriptions.

[!note] Notes fonction : connaissance déclarative procédure : connaissance impérative ^88QKQ5JPaKNH433ZXg5383243p56