Variable
Dans un langage de programmation, une variable associe un nom (un symbole) à une valeur qui peut éventuellement varier au cours du temps. Plus précisément une variable dénote une valeur.
Les capacités et l'utilisation des variables varient pour chaque langage.
| Sommaire |
Nom des variables
Dans certains langages, les noms de variables doivent nécessairement commencer par une lettre (majuscule ou minuscule) ou par un _ (souligné). Les autres caractères composant le nom de la variable doivent être une lettre, un chiffre ou un _. La différenciation des majuscules et des minuscules (sensibilité à la casse) dans le nom d'une variable est laisée à la discrétion des langages.
Exemples de noms de variables valides, en C :
- _var
- __var2
- Var
Exemple de nom de variable non valide en C :
- 2var
Ainsi, le premier caractère ne peut être un chiffre, car cela permet de faciliter la compilation ou l'interprétation du programme en ôtant une ambiguïté : quand le compilateur lit un chiffre, il sait que les caractères qui suivront constitueront une valeur numérique. De même, s'il lit une lettre ou un souligné, il saura qu'il a affaire à une variable.
Tous ces noms de variables sont valides en Lisp.
Typage
Lorsque le type d'une variable est déterminée à la compilation (explicitement par le programmeur ou automatiquement par inférence de type), on parle de typage statique. Les valeurs de cette variable devront être obligatoiremnt de ce type (au sens large, c'est-à-dire du même type ou d'un sous-type de ce type)
Le typage statique aide à la généreration de code objet plus sûr (sans erreur de type à l'exécution) et plus efficace (en consommation mémoire et vitesse d'exécution). Il interdit toutefois la réflexivité à l'exécution.
Autrement, dans les cas où ce ne sont pas les variables qui ont un type, mais les valeurs, on parle de typage dynamique, ou typage latent.
Cycle de vie des variables
On distingue généralement trois opérations sur les variables, chacune pouvant revêtir des formes syntaxiques différentes.
- la déclaration
Certains langages imposent de déclarer une variable voire de donner un type à une variable avant son usage.
La déclaration imposée des variables permet au compilateur ou à l'interpréteur d'identifier les erreur typographiques comme des variables non déclarées ou des variables homonymes.
- l'affectation
Consiste à assigner une valeur à une variable.
Certains langages imposent d'initialiser une variable avant sa lecture alors que d'autres fournissent une valeur implicite (spécifiée ou indéterminée).
Des langages, généralement ceux dits fonctionnels purs, imposent aux variables d'être seulement initialisés et liées une fois.
- la lecture
Consiste à utiliser la valeur liée à la variable.
Réflexivité
Dans la plupart des langages, les variable n'existent qu'en tant qu'outils pour le programmeur. Ainsi, renommer toutes les occurrences d'une variable ne modifira pas le fonctionnement du programme.
Au contraire, pour offrir une expressivité supplémentaire, certains langages permettent de considérer un nom de variable comme une valeur comme une autre (par exemple, ce sont les symboles de Common Lisp). C'est une technique très utile pour implémenter efficacement des algorithmes de calcul symbolique.
