"Médias de programmation" est une traduction par Marc Wathieu
La conception de logiciel est un facteur déterminant de notre culture moderne et devient de plus en plus un fondement de notre réalité. Les citoyens du monde se ressemblent, passant leurs vies face aux surfaces réfléchissantes de leurs mobilophones ou de leurs ordinateurs de bureau. Qu’est-ce qu’un logiciel ?.
Un logiciel est écrit grâce à des langages de programmation, des séquences de caractères alphanumériques et des symboles composés selon des règles syntaxiques rigides (1). Si vous n’êtes pas un familier des programmes d’ordinateurs, en voici pour référence quelques fragments : C++opendir(DIR, $dir) || die $!;} main() {} LISP (define (square x)Par l’écriture de logiciel, les programmeurs décrivent les structures qui définissent des «processus». Ces structures sont traduites en un code qui est exécuté par une machine et les processus sont interprétés, impliquant activement les composants électroniques de l’ordinateur. Harold Abelson, informaticien au MIT (Massachusetts Institute of Technology) explique : «Des processus manoeuvrent ces choses abstraites appelées «données». L’évolution d’un processus est dirigée par une succession de règles que l’on appelle un «programme». Les gens créent des programmes pour diriger des processus». C’est ce processus actif de lecture, de manipulation, et de stockage de données qui offre au logiciel ses capacités uniques. 1. Il existe des exceptions de langages de programmation appelés «langages de programmation visuels» qui permettent à des structures d’être définies à l’aide de symboles graphiques. Le logiciel est un moyen. .
Le logiciel a permis une manière de construire un pont entre l’art du passé et des arts électroniques du présent et futur. Comme le souligne Roy Ascott, nous avons établi une transition entre «contenu, objet, perspective, et représentation» et «contexte, processus, immersion, et négociation». L’aspect le plus singulier du logiciel comme moyen est qu’il permet une réponse. Un tel objet réactif a la capacité d’interagir avec son environnement. Myron Krueger, pionnier de la réalité artificielle, suggère un certain nombre de métaphores intéressantes concernant les interactions entre une personne et un logiciel : dialogue, amplification, écosystème, instrument, jeu, et récit. Je suis pour ma part intéressé au développement d’expressions logicielles plus fondamentales que celles évoquées par Ascott et Krueger. Chaque langage est unique.
Comme il y a beaucoup de différentes langages humaines, il existe beaucoup de différents langages de programmation. Les langages de programmation sont des matériaux.
Il peut être utile d’envisager chaque langage de programmation comme un matériau possédant ses moyens et ses contraintes propres. Les différentes langues sont appropriées selon le contexte. Certains langages sont faciles à employer mais obscurcissent le potentiel de l’ordinateur. D’autres sont très compliqués, mais permettent un contrôle total en offrant un accès complet à la machine. Certains langages de programmation sont flexibles et d’autres sont rigides. Les langages flexibles comme Perl et Lingo sont bons pour créer rapidement des programmes courts, mais ils deviennent souvent difficiles à entretenir et à comprendre quand les programmes deviennent longs. La programmation est exclusive.
Beaucoup de gens perçoivent les programmeurs comme des personnes d’un genre unique, différent de tous les autres. Expressions logicielles.
Quand des programmes sont exécutés par une machine, ils sont des processus dynamiques et non des textes statiques à l’écran. Des noyaux d’expressions numériques incluant forme dynamique, geste, comportement, simulation, auto-organisation, et adaptation émergent de ces processus. De telles expressions, ou d’autres plus basiques, sont les fondements sur lesquels sont élaborées des idées ou des expériences plus complexes. Chacune de ces expressions est décrite ci-dessous et illustrée par un exemple provenant du «Aesthetics & Computation Group» du MIT (Massachusetts Institute of Technology). Ces exemples ont été créés par d’hybrides artistes/programmeurs entre 1998 et 2001 et fournissent des démonstrations claires de ces expressions logicielles. Forme dynamique.
Une forme dynamique est une forme qui change au bon moment. Si cette forme réagit aux stimuli, elle est réactive. «Scratch» de Jared Schiffman (figure 1) démontre les qualités de base d’une forme dynamique. Dans ce logiciel, la position d’un cercle contrôlable affecte sans interruption la découpe de chaque élément visuel. «Scratch» augmente la communication visuelle de la forme en ajoutant des couches de mouvement de manière réactive et fluide. En général, la forme peut réagir à n’importe quel signal de son environnement, incluant les dispositifs d’entrée de données habituels comme la souris, un micro ou une camera video, jusqu’à des interfaces plus surprenants comme un capteur de radiations ou encore un sonar.
Figure 1: Jared Schiffman : «Scratch». Le geste.
Le geste est un composant important de tout medium continu et le logiciel possède la capacité de transcrire et d’interpréter un geste.
Figure 2: Golan Levin: «AVES (AudioVisual Environment Suite)». Le comportement.
Le comportement est un mouvement possédant l’apparence d’une intention. La combinaison de comportements simples peut suggérer une personnalité ou une humeur. Le comportement peut être créé en écrivant intuitivement des programmes ou en mettant en application des modèles biologiques.
Figure 3: Casey Reas: «Trundle». La simulation.
La simulation du monde physique fournit un point d’accès facile à la perception des travaux logiciels. Nos sens ont évolué pour répondre aux règles de la nature. Un des premiers jeux d’ordinateur, Pong, était une simulation hautement abstraite du tennis. La technologie moderne et les communautés scientifiques utilisent des modèles inspirés de la réalité comme base de conception d’objets physiques et d’orientation de recherche.
Figure 4: Golan Levin: «Floccus». Auto-Organisation.
La capacité des éléments à s’auto-organiser rend possibles les phénomènes d’émergence. La structure émerge des interactions entre de nombreux processus autonomes. «Valence» de Ben Fry (figure 5), lit le texte d’un livre mot après mot et l’organise dans l’espace selon un système de règles.
Figure 5: Ben Fry: «Valence». Adaptation.
Figure 6: Ben Fry: «Anemone». Programmer.
Bien que les logiciels soit constamment utilisés dans les arts électroniques, des individus choisissent de construire leur code de manière radicalement différentes, allant de l’écriture dans des langages de bas niveau jusqu’à des collaborations avec des programmeurs. Certains artistes utilisent le code comme outil pour créer des oeuvres dans d’autres médias. Ils emploient des applications disponibles dans le commerce pour produire des impressions, des videos ou pour faire des croquis approximatifs qui sont exécutés dans des médias analogiques. D’autres collaborent avec des programmeurs professionnels, créant des caractéristiques qui sont ensuite mises en application par les programmeurs. Beaucoup d’autres créateurs utilisent des environnements de programmation développés pour des designers et des artistes. Ils travaillent avec des environnements de programmation de scripts et/ou visuels tels que Director, Flash, et Max qui facilitent la construction de logiciels pour les non-programmeurs. Un plus petit groupe d’artistes travaillant le logiciel utilise des langages de programmation développés pour des programmeurs professionnels. Ils utilisent en général des langages comme C, Java, et Peri et développent souvent leurs propres outils-maison pour travailler dans ces environnements. "La capacité à «lire» un medium signifie l’accès aux matériaux ET aux outils créés par d’autres. Vous devez posséder les deux pour être instruits. Dans l’écriture imprimée, les outils que vous produisez sont rhétoriques; ils démontrent et convainquent. Dans l’écriture pour ordinateur, les outils que vous produisez sont des processus; ils simulent et décident".Ces processus qui simulent et décident sont l’essence du logiciel et ils peuvent seulement être entièrement compris en les construisant. Les artistes capitalisent en écrivant leur propre logiciel. Avec la croissance du web, la popularité d’environnements de scripts comme Flash, et la chute des prix du matériel, beaucoup plus d’artistes explorent la programmation.Le champ de la programmation audio-visuelle est un excellent exemple de cette tendance. De petites compagnies de logiciel comme Cycle ‘74, développeur de Jitter, sont très sensibles à leur communauté d’artistes et stimulent le développement d’outils accessibles. Jitter est une bibliothèque sophistiquée de structures visuelles pour l’intégration de l’image avec le son. Beaucoup d’artistes ont été bien au-delà de compter sur les développeurs pour leurs outils. Les Pink Twins, un duo de musiciens/programmeurs de Helsinki, ont créé Framestein, un logiciel de calcul video lié à PD (Pure Data), logiciel open-source de traitement en temps réel. Le collectif d’artistes allemand Meso est même allé encore plus loin avec VVVV, une bibliothèque ambitieuse d’outils de synthèse visuelle en temps réel. Certains artistes développent leurs propres outils logiciels, et après une période d’amélioration, choisissent de le faire partager à la communauté. Synthèse.
Au cours des trente dernières années, des artistes ont développé des pratiques innovantes à l’aide de moyens logiciels, mais ils n’ont seulement exploré qu’une petite gamme des possibilités conceptuelles. Historiquement, les langages et les environnements de programmation ont encouragé une méthodologie spécifique, qui n’a cependant pas engagé la majorité des artistes créant des oeuvres interactives ou logicielles. De nouveaux outils émergent et encouragent les artistes à commencer à travailler directement avec le médium logiciel. La prolifération de l’instruction au logiciel parmi les artistes augmentera une meilleure utilisation du logiciel et contribuera à de nouvelles formes de logiciels et d’environnements de développement.Ces matériaux et environnements ont le potentiel d’étendre la création de logiciel à une communauté créative et critique encore plus vaste. Bibliographie.
Abelson, Harold, Gerald Sussman, and Julie Sussman : |
|||
M'écrire - Newsletter - À propos de ce site |