* Agence Prestashop Argenteuil
Agence Prestashop Argenteuil
Article:
La portée lexicale (dite également portée statique) en informatique, apparait comme un moyen pour persuader la portée d'une variable en fonction de sa position dans le code. Une variable est jugée lexicale au cas où sa portée est résolue par le texte du programme. Il s'agit de la portée de la fonction solde, à partir de la liste des paramètres, et jusqu'à la fin de l'interprétation de la fonction. La fermeture lexicale (dénotée par l'expression lambda) utilise la définition lexicale de balance de la fonction solde : c'est une capture de variable lexicale ; la variable ainsi capturée a la durée de vie de la fonction qui la capture, qui peut excéder la durée d'un appel à solde ; mais la portée de cette capture est strictement limitée par le texte de la fermeture. Elle est incontestable de ne pas interférer avec une autre variable de même nom qui serait définie dans un fragment de code du programme hors de la fonction solde, ou encore avec la variable nommée balance dans d'autres appels de la même fonction. Cela garantit au programmeur que les variables privées ne sont pas accidentellement accédées ou changées par d'autres fonctions. Cela est considéré comme une amélioration considérable par rapport à la combinaison de portée globale et portée dynamique plus antiques. La portée lexicale fut d'abord pratiquée par le langage Algol, puis utilisée par d'autres langages depuis. Certains langages ont inséré la portée lexicale dans leurs incarnations les plus modernes, comme Perl. D'autres proposent les variables dynamiques et lexicales, par choix (Common Lisp) ou par le fait d'une évolution progressive (Emacs Lisp, avec lexical-let). Le principe de localité répond à une observation des programmes présents et collectionne différents types de localités. Les programmes possèdent deux caractéristiques intéressantes : Ils cherchent à utiliser les instructions et les données établies dans la zone mémoire proche des données et instructions accédées nouvellement: il s'agit du principe de localité spatiale. Dans le même temps, la localité spatiale est encore plus marquée pour les données. Ils tendent à réutiliser les données et instructions utilisées dans le passé: il s'agit du principe de localité temporelle. La raison pour laquelle ces principes sont affermis est la manière dont sont conçus les programmes et les processeurs. En effet, des données ou instructions qui sont reliées entre elles (par exemple les données d'un tableau) sont enregistrées dans des endroits proches les uns des autres de la mémoire principale. Or, les programmes considèrent habituellement les données de manière séquentielle. Ainsi, si un élément est accédé, son voisin sera très éventuellement accédé, créant ainsi la localité spatiale. Les boucles étant des caractéristiques courantes des programmes modernes, un élément accédé récemment sera également parvenu dans le futur, engendrant ainsi la localité temporelle