Les logiciels et la guerre contre la complexité

Regardez autour de vous: que se passe-t-il? Australie, AI, Ghosn, Google, Suleimani, Starlink, Trump, TikTok. Le monde est un flux éruptif de comportements émergents fréquemment toxiques, et chaque événement inattendu est lacé de subtiles nuances interconnectées. Stephen Hawking a prédit que ce serait «le siècle de la complexité». Il parlait de physique théorique, mais il avait aussi raison sur la technologie, les sociétés et la géopolitique.

Essayons de définir des termes. Comment mesurer la complexité? Seth Lloyd du MIT, dans un article qui commence sèchement «Le monde est devenu plus complexe récemment, et le nombre de façons de mesurer la complexité est devenu encore plus rapide», a proposé trois catégories clés: difficulté de description, difficulté de création et degré de organisation. En utilisant ces trois critères, il semble évident à première vue que nos sociétés et nos technologies sont beaucoup plus complexes qu'elles ne l'ont jamais été, et croissent rapidement même davantage.

Le truc, c'est que la complexité est l'ennemi. Demandez à n'importe quel ingénieur… en particulier un ingénieur en sécurité. Demandez au fantôme de Steve Jobs. Ajouter de la complexité pour résoudre un problème peut apporter un avantage à court terme, mais cela s'accompagne invariablement d'un coût à long terme qui s'accumule sans cesse. Tout esprit humain ne peut englober tant de complexité avant d'abandonner et de commencer à simplifier les simplifications excessives avec un risque d'accompagnement de terribles erreurs.

Vous avez peut-être remarqué que les esprits humains habilités à prendre des décisions importantes sont souvent ceux qui sont les moins adaptés à la lutte contre une complexité nuancée. Il s'agit sans doute d'un effet persistant d'une complexité croissante. Même le concept simple de démocratie est devenu très complexe – enregistrement des partis, primaires, collecte de fonds, désinformation, gerrymandering, listes électorales, suspensions, machines à voter – et cartographier un vote unique pour un représentant à des dizaines sinon des centaines de questions complexes est impossible, même si vous êtes prêt à examiner toutes ces questions en profondeur, ce que la plupart des gens ne font pas.

La théorie de la complexité est un domaine riche, mais on ne sait pas comment elle peut aider les gens ordinaires à essayer de donner un sens à leur monde. Dans la pratique, les gens gèrent la complexité en proposant des modèles simplifiés suffisamment proches de la réalité complexe pour être réalisables. Ces modèles peuvent être dangereux – «tout le monde a juste besoin d'apprendre à coder», «les logiciels font la même chose à chaque fois qu'ils sont exécutés», «les démocraties sont bienveillantes» – mais ils étaient suffisamment utiles pour faire des progrès rapides.

Dans le logiciel, nous reconnaissons au moins cela comme un problème. Nous rendons hommage à la gloire de l'effacement du code, de la simplification des fonctions, de l'élimination des effets secondaires et de l'état, de la dépréciation des API complexes, de la tentative de falsifier les fourrés de plus en plus complexes. Nous appelons la complexité «dette technique» et nous réalisons qu’au moins en principe, elle doit être remboursée un jour.

«La mondialisation devrait être conceptualisée comme une série de systèmes mondiaux adaptatifs et co-évolutifs, chacun caractérisé par son imprévisibilité, son irréversibilité et sa co-évolution. De tels systèmes manquent d '«équilibre» ou d' «ordre» finalisés; et les nombreux flots d'ordre aggravent le désordre général », pour citer le regretté John Urry. Il est intéressant de noter que les logiciels peuvent également être considérés de cette façon, interprétant, par exemple, «Internet» et «navigateurs» et «systèmes d'exploitation» et «apprentissage automatique» comme des systèmes logiciels mondiaux.

Le logiciel est aussi quelque chose d'un meilleur cas possible pour simplifier des choses complexes. Il est rapidement distribué dans le monde entier. Il est relativement dépourvu de broyage émotionnel ou politique. (Je sais, je sais. J'ai dit «relativement».) Il existe des mesures raisonnablement objectives de la performance et de la simplicité. Et nous sommes tous au moins théoriquement incités à le simplifier.

Donc, si nous pouvons simplifier le logiciel – à la fois ses outils et ses dépendances, et ses produits finaux réels – cela suggère que nous avons au moins un certain espoir de garder le monde suffisamment simple pour que les modèles mentaux bruts continuent d'être vaguement utiles. Inversement, si nous ne le pouvons pas, alors il semble probable que notre réalité continuera à devenir de plus en plus complexe et imprévisible, et nous vivrons de plus en plus dans un monde de troupeaux entiers de cygnes noirs. Je ne sais pas si je dois être optimiste ou non. Mon modèle mental, semble-t-il, me fait défaut.

Traduit de la source : https://techcrunch.com/2020/01/05/software-and-the-war-against-complexity/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.