La beauté du code
La programmation informatique a rapidement généré une dimension esthétique propre, nourrie par les intentions et les préférences des programmeurs eux-mêmes. La méthodologie de programmation, dans sa quête de solutions optimales, a progressivement institué des critères d’élégance, de simplicité et d’efficacité qui ont élevé le code informatique au statut d’objet esthétique autonome. Cette transformation du code en objet d’appréciation esthétique intrinsèque mérite d’être interrogée, particulièrement dans le contexte de la création artistique numérique qui l’a adoptée et transformée.
L’événementiel et le continu constituent deux modalités fondamentales dans l’organisation d’un programme informatique interactif qui consiste en la production d’une causalité artificielle. D’une part, nous observons la production d’événements réagissant à des influx extérieurs traduits par divers capteurs. Ces événements génèrent des ruptures où certaines variables changent brutalement, entraînant des modifications dans l’exécution du programme – chargement de fichiers, transformation d’affichage, déclenchement de sons. D’autre part, nous avons la création de continuités, d’afflux, par l’établissement de variables évoluant progressivement selon des minuteries prédéfinies. Ces variables subissent des modifications graduelles par incrémentation, entre valeurs minimales et maximales préétablies. La simple articulation entre ces ruptures événementielles et ce continuum incrémental permet, par ajustement méticuleux, l’implémentation de comportements spécifiques dans une installation interactive qui suggère une perception et un comportement artificiels.
La problématique centrale réside dans la résistance à ce que nous pourrions nommer “l’esthétique interne du coding”. Le programmeur, passant de longues heures à élaborer du code, développe une tendance quasi-physiologique à créer des structures algorithmiques qui ne sont pas esthétiquement perceptibles mais simplement logiquement cohérentes pour celui qui code. Il s’adresse alors principalement à lui-même plutôt qu’à un public potentiel. Cette tendance se manifeste notamment dans l’implémentation de variables cumulatives supposées donner “vie” à l’œuvre en accumulant les expériences interactives antérieures. Ces variables évoluent proportionnellement à leur utilisation, chaque interaction modifiant certains paramètres calculatoires, créant ainsi une illusion d’organicité. Cependant, cette “vie” relève uniquement de l’entendement du producteur du code, non de l’expérience perceptive des spectateurs-acteurs.
Ce réflexe du programmeur, souvent justifié par des théories d’inspiration néoplatonicienne sur l’art du code – évoquant des Formes Idéales algorithmiques – (Quéau et Lévy l’ont largement développé) constitue une forme de réalisme computationnel. Selon cette conception, le code posséderait une réalité intrinsèque impliquant sa logique propre: l’algorithme aurait une trajectoire de développement naturelle qu’il conviendrait de respecter. L’œuvre devient alors prioritairement un produit de la raison mathématique, reléguant la dimension sensible au second plan. Il faut pourtant revenir à la dimension simulacrale de l’art et reconnaître son caractère artificiel, comprendre que la prétendue réalité algorithmique – une équation produisant tel ou tel effet – importe moins que la déconstruction de la performativité mathématique elle-même.
Il n’existe pas de convergence naturelle entre la beauté programmatique, caractérisée par la simplicité mathématique, et la beauté artistique, définie par la différenciation des percepts. Cette divergence fondamentale mérite d’être analysée plus profondément.
Donald Knuth, figure emblématique de l’informatique théorique, a considérablement contribué à l’élaboration d’une esthétique du code à travers son concept de “littérature programmable” (literate programming) développé dès 1984. Dans “Literate Programming”, Knuth affirme: “Je crois que le temps est venu de modifier considérablement notre documentation sur les programmes… Nous devrions considérer les programmes comme des œuvres littéraires.” Cette perspective établit un parallèle explicite entre programmation et littérature, suggérant que les critères esthétiques applicables à la littérature – clarté, élégance, concision – seraient également pertinents pour évaluer la qualité du code informatique.
Cette vision fut anticipée par Edsger Dijkstra qui, dans ses “Notes on Structured Programming” (1972), développe l’idée que la programmation devrait être abordée comme une discipline mathématique, avec ses propres critères d’élégance. Dijkstra écrit: “La simplicité est un préalable à la fiabilité,” établissant ainsi une corrélation entre l’esthétique de la simplicité et l’efficacité fonctionnelle. Cette perspective fonctionnaliste de l’esthétique du code trouve son expression la plus célèbre dans la maxime attribuée à Antoine de Saint-Exupéry, souvent citée par les programmeurs: “La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retrancher.”
Ces conceptions dockhamiennes de l’esthétique du code s’inscrivent dans une tradition analytique qui valorise la parcimonie, la lisibilité et l’élégance mathématique. Elles ont donné naissance à des principes directeurs comme le KISS (“Keep It Simple, Stupid”) formulé par Kelly Johnson dans les années 1960 et adopté par la communauté informatique, ou le principe DRY (“Don’t Repeat Yourself”) articulé par Andy Hunt et Dave Thomas dans “The Pragmatic Programmer” (1999), qui recommande d’éviter la duplication de code pour maintenir la cohérence et la maintenabilité.
Ces principes esthétiques se retrouvent également dans le mouvement minimaliste du langage de programmation Python, dont le créateur Guido van Rossum a explicitement privilégié la lisibilité et l’élégance syntaxique. Les “Zen of Python” (1999), ensemble de principes directeurs de ce langage, déclarent notamment: “Beautiful is better than ugly” et “Simple is better than complex,” érigeant ainsi l’esthétique de la simplicité en valeur fondamentale.
Cette esthétique fonctionnaliste du code trouve sa justification théorique dans les travaux de George David Birkhoff qui, dans “Aesthetic Measure” (1933), propose une quantification mathématique de l’expérience esthétique selon la formule M = O/C, où M représente la mesure esthétique, O l’ordre et C la complexité. Cette approche suggère qu’une plus grande ordonnance associée à une moindre complexité engendre une expérience esthétique optimale – principe qui résonne fortement avec l’idéal de simplicité élégante prôné par les théoriciens de la programmation.
Cependant, cette conception de l’esthétique du code présente plusieurs problèmes fondamentaux lorsqu’elle est appliquée au domaine de l’art numérique. Le premier concerne la confusion entre élégance mathématique et expérience perceptive. L’élégance d’un algorithme – sa concision, son efficacité, sa généralité – est appréciable intellectuellement mais demeure imperceptible pour qui n’a pas accès au code source. Elle constitue une esthétique “interne” au système, appréciable uniquement par les initiés capables de lire et comprendre la structure programmatique. De plus, il n’est pas sûr que nous cherchions dans l’expérience esthétique de la simplicité lisible. Bien au contraire, n’attendons-nous pas du chaos, des intensités folles, de l’illisible, Lyotard dirait “infans” celui qui est dénué de langage.
Cette situation rappelle la critique formulée par Ludwig Wittgenstein dans ses “Remarques sur les fondements des mathématiques” (1956) concernant l’esthétique mathématique. Wittgenstein observe que l’appréciation esthétique des mathématiques requiert une compréhension préalable des problèmes que la solution mathématique tente de résoudre. De même, l’appréciation esthétique du code nécessite une compréhension des problèmes algorithmiques auxquels il répond – compréhension rarement accessible au public des œuvres d’art numériques.
Le deuxième problème relève de ce que nous pourrions nommer, suivant Gilbert Simondon dans “Du mode d’existence des objets techniques” (1958), la “concrétisation technique” du code. Simondon observait que l’évolution des objets techniques tendait vers une convergence fonctionnelle où chaque élément remplit plusieurs fonctions simultanément, réduisant ainsi la redondance et augmentant l’intégration. Dans le domaine de la programmation, cette tendance se traduit par l’élimination progressive des redondances, la factorisation du code et l’abstraction croissante. Or, cette concrétisation technique, si elle représente un progrès du point de vue de l’efficacité computationnelle, peut s’avérer problématique sur le plan artistique en réduisant la matérialité perceptible du processus et en augmentant son opacité pour le spectateur.
Le troisième problème concerne la temporalité spécifique de l’expérience esthétique. Comme le soulignait John Dewey dans “L’art comme expérience” (1934), l’expérience esthétique se déploie dans une temporalité particulière, caractérisée par une intensification des aspects ordinaires de l’expérience. Or, la structure temporelle d’un programme informatique, organisée selon des principes d’efficacité algorithmique et déterministe, ne coïncide pas nécessairement avec cette temporalité esthétique qui ne relève pas d’un enchainement de cause à effet. L’optimisation d’un algorithme peut conduire à une exécution si rapide qu’elle devient imperceptible, effaçant ainsi la dimension différée (entre la sensibilité et la réflexivité) pourtant essentielle à l’expérience esthétique.
Plus fondamentalement, nous assistons ici à ce que Theodor Adorno et Max Horkheimer analysaient dans “La dialectique de la raison” (1947) comme une extension de la rationalité instrumentale au domaine esthétique. L’esthétique du code, en valorisant principalement l’efficacité, la simplicité et l’optimisation, reflète une conception instrumentale de la beauté où celle-ci est réduite à sa fonctionnalité et à sa lisibilité. Cette réduction menace ce qu’Adorno nomme le “contenu de vérité” de l’art – sa capacité à manifester des contradictions sociales et à préserver une négativité critique face à la rationalisation totale du monde.
Cette extension de la rationalité instrumentale au domaine esthétique se manifeste particulièrement dans ce que nous pourrions appeler, suivant la terminologie de Martin Heidegger dans “La question de la technique” (1953), “l’arraisonnement” du processus créatif par la logique algorithmique. Pour Heidegger, l’arraisonnement (Gestell) désigne cette attitude moderne qui considère le monde comme un “fonds” (Bestand) disponible pour l’exploitation technique. Dans le contexte de la programmation artistique, cet arraisonnement se traduit par une subordination de la sensibilité esthétique aux impératifs de la logique computationnelle, où l’algorithme devient la mesure de toute chose.
La tendance à développer des algorithmes adaptatifs, capables d’apprendre et d’évoluer en fonction des interactions antérieures, illustre parfaitement cette problématique. Ces algorithmes, souvent inspirés des processus biologiques d’évolution et d’apprentissage, sont censés conférer une “vie” au programme, le rendant capable de s’adapter et d’évoluer. Les travaux de John Holland sur les algorithmes génétiques, présentés dans “Adaptation in Natural and Artificial Systems” (1975), ont considérablement influencé cette approche, suggérant que des principes évolutifs pouvaient être appliqués aux programmes informatiques pour leur permettre de s’améliorer progressivement.
Cette conception “vitaliste” du code informatique trouve son expression artistique dans des œuvres comme “A-Volve” (1994-1997) de Christa Sommerer et Laurent Mignonneau, où des créatures virtuelles évoluent en fonction des interactions des spectateurs. Cependant, comme le souligne Edmond Couchot dans “La technologie dans l’art” (1998), cette apparente “vie” algorithmique reste fondamentalement une simulation, dont la perception dépend moins de sa réalité computationnelle que des interfaces sensorielles qui la rendent perceptible.
Le problème central de cette approche réside dans ce que nous pourrions nommer, suivant Jean Baudrillard une “hyperréalité algorithmique”. L’algorithme adaptatif prétend simuler une vie authentique, mais cette simulation n’existe véritablement que pour celui qui comprend le code et peut en apprécier le fonctionnement interne. Pour le spectateur, elle demeure une boîte noire dont seuls les effets sont perceptibles, sans accès à la supposée “vie intérieure” de l’algorithme.
Il pourrait sembler que c’est précisément cet ancrage sensible qui fait défaut lorsque l’esthétique interne du code prend le pas sur l’expérience perceptive. Comme le remarquait Nelson Goodman dans “Langages de l’art” (1968), une œuvre d’art fonctionne symboliquement au sein d’un système référentiel particulier. L’œuvre d’art numérique opère simultanément dans deux systèmes référentiels distincts: celui du code, avec ses propres règles syntaxiques et sémantiques, et celui de l’expérience perceptive, avec ses modalités sensorielles spécifiques. La difficulté consiste à établir une articulation significative entre ces deux systèmes référentiels, sans réduire l’un à l’autre.
Cette articulation problématique s’apparente à ce que Jacques Derrida, dans “De la grammatologie” (1967), analyse comme la tension entre l’écriture (grammè) et la présence. Le code informatique constitue une forme d’écriture, un système de notation qui diffère fondamentalement de l’expérience perceptive immédiate qu’il génère. Cette différance (avec un “a”, selon l’orthographe derridienne) entre le code comme écriture et l’expérience comme présence sensible crée un écart irréductible que l’art numérique doit assumer plutôt que tenter de combler.
Cette tension entre code et expérience sensible se retrouve au cœur de la distinction établie par Friedrich Kittler dans “Gramophone, Film, Typewriter” (1986) entre les systèmes d’enregistrement analogiques et numériques. Pour Kittler, le passage de l’analogique au numérique implique une abstraction croissante, où le médium devient de plus en plus transparent, au point de disparaître de la conscience perceptive. Le code informatique, en tant que système symbolique abstrait, opère précisément ce type d’effacement, rendant problématique son intégration dans une expérience esthétique qui demeure fondamentalement ancrée dans la sensorialité.
En ce sens, la croyance en une convergence naturelle entre la beauté programmatique et la beauté artistique relève de ce que nous pourrions nommer, suivant Gilbert Simondon, une “illusion techniciste”. Dans “Du mode d’existence des objets techniques”, Simondon critique cette tendance à réduire l’objet technique à sa fonctionnalité, négligeant sa dimension culturelle et symbolique. De même, réduire l’esthétique d’une œuvre numérique à l’élégance de son code revient à privilégier sa dimension technique au détriment de sa dimension culturelle et symbolique.
Cette illusion techniciste s’apparente à ce que Jürgen Habermas, dans “La technique et la science comme idéologie” (1968), analyse comme une “colonisation du monde vécu par les systèmes”. La logique instrumentale propre à la programmation informatique, avec ses critères d’efficacité et d’optimisation, colonise progressivement le domaine esthétique, substituant ses valeurs propres (simplicité algorithmique, élégance mathématique) aux valeurs traditionnelles de l’expérience esthétique (intensité perceptive, richesse symbolique, profondeur émotionnelle).
Face à ces dérives technicistes, il convient de rappeler, comme le faisait Maurice Merleau-Ponty dans “L’œil et l’esprit” (1964), que l’art demeure fondamentalement ancré dans la perception sensible. Pour Merleau-Ponty, l’art ne vise pas à représenter le monde mais à en intensifier l’expérience perceptive, à révéler des dimensions sensibles habituellement inaperçues. Cette conception phénoménologique de l’art comme intensification perceptive reste pertinente pour l’art numérique, suggérant que celui-ci devrait viser non pas la sophistication algorithmique en soi, mais l’enrichissement de l’expérience sensible.
Cette perspective phénoménologique trouve un écho dans les travaux de Don Ihde qui, dans “Technology and the Lifeworld” (1990), développe le concept de “relations humain-technologie” pour analyser comment les technologies modifient notre expérience perceptive du monde. Ihde distingue notamment les “relations d’incorporation” (où la technologie devient transparente, comme des lunettes) et les “relations herméneutiques” (où la technologie requiert une interprétation, comme un texte). L’art numérique oscille constamment entre ces deux modalités relationnelles, tantôt rendant la technologie transparente pour intensifier l’expérience sensible, tantôt la rendant visible pour susciter une réflexion critique sur nos relations aux systèmes techniques.
Cette oscillation entre transparence et opacité technique constitue l’un des enjeux fondamentaux de l’art numérique contemporain. Selon Lev Manovich dans “The Language of New Media” (2001), les médias numériques se caractérisent par une tension constante entre l’interface culturelle (les conventions représentationnelles héritées des médias antérieurs) et l’interface computationnelle (les structures algorithmiques spécifiques au numérique). L’art numérique doit négocier cette tension sans réduire l’une à l’autre, maintenant une dialectique productive entre ces deux dimensions.
Cette dialectique s’apparente à ce que Bernard Stiegler, dans “La technique et le temps” (1994-2001), analyse comme une “épiphylogenèse” – l’évolution conjointe des humains et des techniques. Pour Stiegler, les technologies ne sont pas de simples outils extérieurs mais participent fondamentalement à la constitution de notre expérience temporelle et mémorielle. L’art numérique, en tant qu’exploration esthétique des possibilités technologiques, contribue à cette épiphylogenèse en développant de nouvelles modalités relationnelles entre humains et systèmes techniques.
Dans cette perspective, la valorisation exclusive de l’esthétique interne du code apparaît comme une réduction problématique, négligeant la dimension proprement relationnelle de l’expérience esthétique. Comme le soulignait John Dewey dans “L’art comme expérience”, l’expérience esthétique ne réside ni dans l’objet ni dans le sujet isolément, mais dans leur interaction dynamique. L’art numérique devrait donc viser non pas la perfection algorithmique en soi, mais la qualité de l’interaction qu’il rend possible entre le spectateur et le système technique.
Cette dimension relationnelle implique nécessairement une attention à ce que Simondon nomme la “transduction” – le processus par lequel une activité se propage de proche en proche au sein d’un domaine. Dans le contexte de l’art numérique, la transduction désigne la manière dont les structures algorithmiques se propagent dans l’expérience sensible, comment le code se traduit en perceptions, émotions et significations. Cette transduction ne peut être réduite à une simple implémentation technique mais constitue un processus créatif à part entière, nécessitant une attention particulière aux interfaces sensorielles, aux modalités interactives et aux contextes d’expérience.
L’esthétique du code ne peut se substituer à une esthétique de l’expérience sensible, toutefois elle déplace cette dernière, car l’expérience est influencée par le dispositif technique. Ce sont jusqu’aux facultés transcendantales a priori qui sont modifiées par l’a posteriori technologique. C’est pourquoi la division entre la réalité et le simulacre semble fragile. Le simulacre affecte la réalité, modifie les cadres de perception. C’est bien en cette zone trouble entre les technologies et l’anthropologie, entre l’a posterio et l’a priori que se situe le débat et la manière dont l’art numérique (ce terme n’étant absolument pas satisfaisant) peut nous affecter. Non pas en caricaturant une expérience sensible par des expériences immersives, cinétiques, lumineuses, comme c’est si souvent le cas, et en nous faisant croire à une naturalité du sensible, mais en s’enfonçant dans le simulacre et dans sa manière de configurer des mondes.