• Aucun résultat trouvé

Le code informatique est comparé par de nombreux auteurs en SHS et praticiens (programmeurs) à une forme d’écriture et le recours à la pragmatique linguistique est récurrent dans la littérature des Software Studies.

Dans « Poétique des codes sur le réseau informatique », par exemple Camille Paloque- Bergès200 décrit le rapport qu’entretient le code avec l’art et la littérature. Elle fait un

rapprochement entre les théories linguistiques et la programmation, en s’inspirant d’un courant de recherche dédié à cette question, le « Computing for the Humanities ». La problématique principale de ce champ de recherche est de comprendre les enjeux de l’encodage d’un texte littéraire « sur le médium informatique. »201

197 Fuller Matthew (ed.), Software Studies : A Lexicon, The MIT Press, 2008, p.5 198 Ibid

199 Voir Bachimont Bruno, « Signes formels et computation numérique : entre intuition et formalisme. Critique

de la raison computationnelle », 2006 [URL :

http://www.utc.fr/~bachimon/Publications_attachments/Bachimont.pdf ]

200 Paloque-Bergès Camille, Poétique des codes sur le réseau informatique, Archives Contemporaines éditions,

2009

Conceptualiser l’objet numérique pour saisir ses mécanismes éthiques - Focus sur les Software Studies: concepts et contextes de l’objet numérique

117

On retrouve des articles en SHS sur l’aspect performatif du code informatique, comme celui de Stéphane Couture sur « Ecriture et performativité du code informatique » qui fait un parallèle entre la performativité du langage décrite notamment par Judith Butler202, et celle

spécifique de l’écriture du code informatique. La performativité renvoie à l’idée du « dire c’est faire », expression que l’on doit à Austin dans son ouvrage « Quand dire c’est faire »203 pour

montrer que le code informatique, en tant qu’écriture, fait acte, « fait ce qu’il dit et crée ce qu’il désigne »204.

Selon Stéphane Couture205, le code source se considère comme un artefact d’écriture et le

programme exécutable comme un dispositif technique. La distinction entre ces deux notions et deux dimensions qu’elles portent avec elles est essentielle : « Un programme informatique est une machine et un langage, mais aussi une fonction et un fonctionnement, un dire et un faire sociotechnique »206 qui repose sur une écriture qui va devenir performative.

Cependant, d’autres auteurs réfutent cette comparaison avec l’écriture, estimant que le code en lui-même n’a pas de signification :

« Il peut seulement acquérir du sens à travers ses interactions avec les compilateurs, les machines, d’autres codes, le réseau, les humains. En quittant son auteur et en se greffant ailleurs, le code obtient de nouvelles significations. »207

D’autres vont affirmer que le code étant une structure pyramidale, c’est-à-dire « qu’il y a en général plusieurs couches de code opérant en même temps et que les langages des différents

202 Butler Judith, Le pouvoir des mots, politique du performatif, Paris, Editions Amsterdam, 2004

203 Austin John, How to do things with words?, 2ème edition, Cambridge : Harvard University Press, 1975 204 Méadel Cécile, Sire Guillaume, « Les sciences sociales orientées programmes. Etat des lieux et perspectives »,

Réseaux 2017/6 (n°206), p.9-34

205 Couture Stéphane, « Ecriture et performativité du code source informatique », dans S. Proulx, A. Klein (dir.),

Communication numérique et lien social, Presses universitaires de Namur, Namur, p.169-184, 2012

206 Méadel Cécile, Sire Guillaume, « Les sciences sociales orientées programmes. Etat des lieux et perspectives »,

Réseaux 2017/6 (n°206), p.9-34

Conceptualiser l’objet numérique pour saisir ses mécanismes éthiques - Focus sur les Software Studies: concepts et contextes de l’objet numérique

118

niveaux de la pyramide sont complémentaires »208 il ne répond pas aux mêmes critères que le

langage humain qui lui fonctionne sur un mode horizontal.

Nos entretiens révèlent pourtant bien une forme d’analogie entre le code et le langage, voir d’esthétique du style littéraire, et l’impact que cela peut avoir sur la signification :

« On écrit toujours un programme dans un langage donné. En fonction de ce que la personne utilise comme langage, on n’aura pas la même compréhension. Comme les inuites, qui ont plusieurs mots pour exprimer un même concept. C’est pareil dans le développement, on ne conceptualise pas les choses de la même manière avec les différents langages. Et plus on monte dans les couches, plus les langages se multiplient car il y a autant de manières que de gens pour exprimer des choses complexes ! »209

Avant même de traiter un code source, Robin Penea nous dit qu’il va regarder le style du programmeur, pour voir la démarche de la personne et la façon dont il a organisé et agencé le code. Cela correspond à une forme d’art selon lui, et il sera très critique sur l’esthétique de l’écriture du code : « un peu comme en littérature, on ne peut pas apprécier un texte s’il est rempli de fautes d’orthographe ou de syntaxe » précise-t-il. Robin Penea rappelle à ce propos l’adage de Boileau « ce qui se conçoit bien s’énonce clairement » : si le code est mal écrit, il aura des doutes sur la qualité de la conception.

Nous observons également dans la littérature des positionnements d’informaticiens qui révèlent que le code est une forme d’expression écrite. La position de Donald Knuth, informaticien, dans « Literate Programming » sur ce point est structurante. Il faut, selon lui, passer de la programmation structurée des années 70, qui impose de respecter un certain ordre donné par l’ordinateur, à une programmation lettrée, c’est-à-dire qui « parle » d’abord aux individus en suivant une logique qui soit d’abord celle des hommes, avant de « parler » à la machine par la seule logique de l’exécution du code, telle que le décrit Donald Knuth :

« Je crois que le temps est venu d’une amélioration significative de la documentation des programmes, et que le meilleur moyen d'y arriver est de considérer les

208 Méadel Cécile, Sire Guillaume, « Les sciences sociales orientées programmes. Etat des lieux et perspectives »,

Réseaux 2017/6 (n°206), p.9-34

Conceptualiser l’objet numérique pour saisir ses mécanismes éthiques - Focus sur les Software Studies: concepts et contextes de l’objet numérique

119

programmes comme des œuvres littéraires. D'où mon titre, ‘’programmation lettrée’’ […] Nous devons changer notre attitude traditionnelle envers la construction des programmes : au lieu de considérer que notre tâche principale est de dire à un ordinateur ce qu'il doit faire, appliquons-nous plutôt à expliquer à des êtres humains ce que nous voulons que l'ordinateur fasse. »210

Son idée va bien au-delà de la pratique des commentaires, qui sont des annotations très succinctes sur quelques bouts de code source. Donald Knuth propose une véritable explication des concepts à chaque niveau de la programmation, tout en fournissant les documentations utiles à la compréhension du code. Cela doit permettre une explicitation des raisonnements et donc une meilleure compréhension entre les programmeurs, et in fine une meilleure viabilité et durabilité du code.

On retrouve une idée similaire chez Hal Ableson et Gerald Jay Sussman déjà en 1996 :

« Les programmes devraient être écrits pour que les êtres humains les lisent et seulement incidemment pour que des machines les exécutent. »211

On dirait qu’ici se dessine une forme d’éthique narrative particulière et complètement inédite. Pourquoi narrative ? La littérature et nos entretiens révèlent en effet cette approche narrative, qui consiste à raconter, documenter et justifier des pratiques en référence à des mouvements fondateurs comme le Libre, le manifeste « Coder proprement » de Martin, ou encore le literate programming.

Cependant, certains auteurs étudiant le code en SHS, comme Guillaume Sire, considèrent qu’il est inapproprié d’utiliser la métaphore du langage dit « naturel » pour qualifier le code. Sire souhaite ainsi répondre à trois types d’écueils : le premier écueil formule l’idée selon laquelle le code s’adresse toujours à des machines et non à des humains ; le second consiste à dire que le code ne sert pas à dire mais à faire ; enfin, le troisième écueil consiste à dire que le code

210 Donald E. Knuth, «Literate Programming », The Computer Journal, British Computer Society, vol. 27, no 2,

1984, p. 97–111

211 Abelson H., Sussman G.J., Structure and Interpretation of Computer Programs (2e éd.), Cambridge, MA, MIT

Conceptualiser l’objet numérique pour saisir ses mécanismes éthiques - Focus sur les Software Studies: concepts et contextes de l’objet numérique

120

« ne permet pas de formulations ambigües et n’accepte qu’une syntaxe parfaite. »212 Ces

considérations invitent à la prudence selon Guillaume Sire, car nous ne pourrons effectivement pas considérer que nous avons affaire aux mêmes types de structures et procédés que notre langage « naturel ». Mais il affirme qu’il s’agit tout de même d’un langage particulier, au même titre par exemple que le solfège, qui serait le langage des musiciens. Guillaume Sire répond à ces trois écueils en rappelant que même si le code sert à faire exécuter des tâches à une machine, cela ne signifie pas qu’il n’y ait pas de communication indirecte avec les humains. Il soutient que nous avons bien affaire à un langage particulier en nous rappelant que :

« […] les machines communiquent entre elles (le langage sert à communiquer, il est social) […] que cette communication induit des actions (le langage fait et fait faire, il est politique), […] que le code laisse peu de place à l’interprétation [sans] oublier le caractère technique de ce langage (le langage propose une vision du monde plus ou moins plastique, il est culturel). »213

Il est d’ailleurs intéressant de souligner que dans le droit de la propriété intellectuelle, l’article L112-2 définit la protection d’un programme d’ordinateur au même titre que celle des œuvres littéraires :

« Conformément aux dispositions de la présente directive, les Etats membres protègent les programmes d’ordinateur par le droit d’auteur en tant qu’œuvre littéraires au sens de la convention de Berne pour la protection des œuvres littéraires et artistiques. Le terme « programme d’ordinateur », aux fins de la présente directive, comprend le matériel de conception préparatoire. »214

212 Rieder B., Métatechnologies et délégation. Pour un design orienté-société dans l’ère du Web 2.0, Thèse en

sciences de l’information et de la communication, Université Paris 8 – Vincennes Saint Denis, 2006, 338p.

213 Sire Guillaume, « Ce que coder veut dire : Y a-t-il un langage de programmation ? Plaidoyer pour une approche

sociolinguistique du code », French Journal For Media Research – n°6/2016

214 Directive 91/250/CEE du Conseil du 14 mai 1991 concernant la protection juridique des programmes

Conceptualiser l’objet numérique pour saisir ses mécanismes éthiques - Focus sur les Software Studies: concepts et contextes de l’objet numérique

121

Outline

Documents relatifs