Une §[variable] informatique délimite un espace fixe à l’intérieur de l’ordinateur qui contiendra par la suite des variations numériques. L’usage de ces valeurs numériques peuvent être de pratiquement n’importe quel ordre : une variable peut piloter un robots, agumenter/diminuer un son, ou générer un caractère alphanumérique sur un document. Mais à la base, la variable commencera toujours sa vie comme un chiffre dans un emplacement donnée. On délimite un espace, on le nomme — « x », « y », « score », etc — puis on commence à placer une valeur à l’intérieur.
L’usage d’une variable pour affecter toutes ces conséquences concrètes permet à l’ordinateur de maîtriser l’imprévu avec du prévisible. Elle lui permet également de créer des machines §[récursives](récursion) de §[modulation] d’une machine par une autre. En réduisant la complexité à des valeurs numériques, la §[machine] peut se permettre ensuite une grande latitude dans les choix de communication et d’affectation §[transcursives] (cf. Anti-Œdipe, p.51-2) : la machine peut affecter une variable quelconque dans une séquence textuelle par une variable venue de la modulation d’une onde sonore. Comme les deux « objets » parlent la même langue (ils sont tous les deux des « variables ») la valeur de l’un peut facilement affecter la valeur de l’autre.
Dans le §[diagramme] ci-contre, nous voyons une illustration plutôt simple de différents façons dont on peut se servir d’une variable. Il commence avec une variable unique constament réattribuée avec une nouvelle valeur qui corrépond à la position horizontale de la souris à l’intérieur de l’écran : quand la souris est plutôt à gauche dans la fenêtre cette valeur tend vers 0, alors qu’à droite elle tend vers 255. Il y a donc 256 différentes valeurs (255 + 0 = 256 différentes valeurs en informatique) qui corréspondent à la position horizontale de la souris. Cette valeur est affichée en haut du diagramme, avec une barre vérticale pour illustrer le rapport entre cette valeur et les coordonnées sur l’écran.
Dans les codes sources (cf. « variable.pde »), cette variable est représentée de la façon suivante :
x = mouseX;
Ce qui veut dire que 60 fois seconde la variable « x » prend comme valeur celle de la position horizontale de la souris.
En bas du diagramme, 16 usages de cette variable unique. La première case, par exemple, prend la valeur de la souris et l’inverse en utilisant la formule suivate :
x2 = 256 - x;
Avec cette formule, les valeurs de 0 à 255 de la souris deviennent des valeurs de 255 à 0 pour la variable « x2 ». Cette inversion sera ensuite appliquée à différents objets graphiques, par exemple la ligne verticale juste en dessous.
D’autres cases du §[diagramme] illustre la façon dont une variable peut affecter le déplacement d’une autre variable. Dans la deuxième case, par exemple, cette variable « x » de la souris est utilisée pour déterminer l’étendu des valeurs aléatoires d’un carré qui frétille. D’autres cases, comme celle qui contient une ligne qui tourne en continu, utilise cette valeur « x » pour affecter le facteur de changement de sa propre valeur : la ligne a sa propre orientation, son propre « angle » qui est égalemment une variable ; mais la valeur « x » de la souris est ensuite utilisée pour §[moduler](modulation) cette valeur. Au lieu d’utiliser la variable de souris comme une valeur fixe, elle est utilisée comme un valeur de modulation intermédiare. Cette médiation des variables dans la chaîne §[iterative](iteration) du programme introduit une couche d’§[abstraction] comme on peut en témoigner à travers des machines comme Vexation 1 d’Antoine Schmitt.
cf. microphone