Stratégie d'évaluation (informatique)

Un langage de programmation utilise une stratégie d'évaluation pour déterminer « quand » évaluer les arguments à l'appel d'une fonction (ou encore, opération, méthode) et « comment » passer les arguments à la fonction. Par exemple, dans l'appel par valeur, les arguments doivent être évalués avant d'être passés à la fonction.

La stratégie d'évaluation d'un langage de programmation est spécifiée par la définition du langage même. En pratique, la plupart des langages de programmation (Java, C, ...) utilisent l'appel par valeur. En effet, l'appel par valeur permet de raisonner plus facilement lorsque l'on essaie de déterminer et calculer la complexité algorithmique d'un programme puisque l'on sait précisément quand est-ce que les arguments sont évalués.

Appel par nom

Dans l'appel par nom, la fonction est évaluée d'abord et à chaque fois que dans cette évaluation les paramètres sont invoqués ceux-ci sont évalués. Par exemple, supposons avoir une fonction fst qui rend le premier élément d'une paire. fst (3 + 2, 6 * 8) s'évalue d'abord en 3 + 2 et enfin en 5.

Appel par valeur

Dans l'appel par valeur, les paramètres sont d'abord évalués, puis la fonction est évaluée. Par exemple, supposons avoir une fonction fst qui rend le premier élément d'une paire. fst (3 + 2, 6 * 8) s'évalue d'abord en fst (5, 6 * 8), puis en fst (5, 48) et enfin en 5.

Appel par nécessité

L'appel par nécessité est une optimisation de l'appel par nom dans laquelle les valeurs d'expressions déjà évaluées sont mémoïsées, ce qui permet de ne pas avoir à évaluer plusieurs fois les mêmes expressions.

Bibliographie

Voir aussi

  • Portail de la logique
  • Portail de l'informatique théorique
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.