Algorithme (Programme)

 

L’algorithme est une suite finie de règles formelles que l’on applique à un nombre fini de données, afin de résoudre des classes de problèmes semblables, c’est une série d’opérations élémentaires retranscrites par un code. L’algorithme, qui est une opération itérative et répétable, participe de ce que nous nommons un processus de grammatisation.

Avec ce premier organe à calculer qu’est la main, l’homme encocha des bois, puis entassa de cailloux (calculi), puis constitua abaques et bouliers. Le fonctionnement d’un boulier ne nous aide-t-il pas déjà à comprendre qu’une opération de calcul peut se traduire en gestes séquentiels opérant selon des instructions binaires (rapprocher la boule de la barre centrale ou ne pas y toucher) ? Ces gestes, de notre point de vue, sont des grammes. Lorsqu’un enfant pose sur papier une multiplication qu’il ne pourrait résoudre autrement, il montre comment stylo, cahier, main et cerveau participent d’un même algorithme. Mais, contrairement à ce que l’on croit, l’algorithme ne concerne pas seulement les procédés de calcul, au sens étroit du mot, puisque, pour prendre un exemple très simple, chercher un mot dans le dictionnaire relève déjà d’un algorithme.

Devenir algorithmique. La principale caractéristique d’un ordinateur est sa programmabilité[1], et l’usage tend aujourd’hui à confondre « algorithme » et « programme ». Pourtant, la programmation informatique n’épuise pas la question de l’algorithme, en ce sens que l’on ne programme que ce qui relève déjà du champ de l’algorithme c'est à dire ce qui a déjà été engrammé, discrétisé, formalisé, et qui autorise ainsi sa manipulabilité. À ce titre, ce qui relève de l’algorithme est plus vaste que la définition mathématico-informatique qui lui est de nos jours systématiquement accolée.

Le devenir algorithmique de notre monde, de notre vie, participe de ce que nous nommons le processus de grammatisation. Le devenir algorithmique s’accélère avec les technologies numériques, mais il préexistait. Ainsi le devenir algorithmique s’inscrit déjà, par exemple, dans ces conversations commerciales que l’on nous impose au téléphone avec les télévendeurs qui déclenchent un script prédécoupé en unité de base et exécutée selon un ordre donné. Taylor a conquis le langage ! Et c’est parce que cette conquête a déjà eu lieu qu’il est possible à Google ou à Facebook d’exister. Le devenir algorithmique ne concerne pas seulement le langage informatique mais la langue elle-même, pas seulement les machines mais les humains

« Là où le taylorisme misait sur l’entière subordination des travailleurs à une rationalité qui leur restait extérieure, il s’agit maintenant de tabler sur leur programmation, c’est-à-dire d’étendre aux esprits des disciplines jusqu’alors réservées aux corps en usant massivement de psychotechniques »[2].




[1]
Pour faire l’histoire de la programmation on se tourne d’ordinaire vers l’histoire des cartes perforées qui nous conduisent de la machine de Joseph Marie Jacquard (1801), à celle d’Herman Hollerith (1884), l’ancêtre d’IBM. Entre Jacquard et Hollerith, il y a Charles Babbage et sa machine analytique (1833). Ada Lovelace, sa collaboratrice à qui on doit le terme d’« algorithme », créa une série de cartes perforées pour cette machine, dont elle publia la description complète en 1842 : « La machine analytique, disait-elle,tissera des motifs algébriques comme les métiers de Jacquard tissent des fleurs et des feuilles ». Le « patron de calcul », soit la liste d’instructions commune à tous les calculs d’un même type, s’appelle précisément un algorithme.

[2]Alain Supiot, « Introduction » à B. Trentin, La cité du travail, Fayard, 2012, p. 27.