Niklaus Wirth et comment l'informatique financière peut aider à sauver la planète

  • Niklaus Wirth, célèbre informaticien, est décédé récemment.
  • Il a contribué à la conception de neuf langages informatiques, dont Pascal et Delphi.
  • L'efficacité des langages légers comme ceux créés par Wirth pourrait aider à réduire l'empreinte environnementale de l'informatique.

De nombreuses sommités de l'informatique sont malheureusement décédées récemment, ce qui n'est pas surprenant étant donné que de nombreux pionniers des années 50, 60 et 70 arrivent en fin de vie. Celui qui a attiré mon attention était Niklaus Wirth, qui a quitté ce monde le jour du Nouvel An. C'était un informaticien suisse, principalement associé à l'ETH Zurich, mais il avait également un pedigree des années 60 dans la Silicon Valley. Il a obtenu son doctorat au très réputé département de génie électrique et d'informatique de Berkeley, puis est devenu pendant un certain temps professeur agrégé d'informatique à Stanford.

Wirth était remarquable car, comme le dit la page wiki à son sujet, il a aidé à concevoir neuf langues. Cela fait NEUF langues. Bien sûr, ce n’est pas entièrement son œuvre ! D’autres étaient impliqués, mais c’est très impressionnant.

Le premier des deux langages de Wirth que je connais le mieux inclut ALGOL des années 1960, bien que dans son cas spécifiquement la variante W qui apportait des types de données complexes et des structures de données dynamiques et récursives telles que des listes, des arbres et des graphiques aux scalaires et tableaux d'ALGOL. Le W est important, car ALGOL W a été supplanté par la mise en œuvre rivale ALGOL 68, plus compliquée et finalement infructueuse. Cependant, le descendant ALGOL W de Wirth, le langage de programmation Pascal et finalement Delphi (construit sur une version orientée objet de Pascal), soutenu commercialement, sont devenus des langages algorithmiques très réussis au cours des années 1970.

Niklaus Wirth et comment l'informatique financière peut aider à sauver la planète

C'est l'engagement de Wirth en faveur d'une programmation algorithmique légère et facile à utiliser qui a attiré mon attention grâce à un commentaire légèrement provocateur sur une publication sur les réseaux sociaux d'un influenceur financier/trader/gestionnaire de portefeuille populaire concernant la nécrologie de Wirth dans The Register. Il a déclaré simplement : «[The article about Wirth was] correct à propos de

gonflé logiciel. Regardez tout ce qui est produit par Microsoft.

Le jibe Microsoft de l'affiche m'a rappelé un tweet récent publié par un influenceur associé d'Elon Musk, qui disait :

1973  :

  • Que fais-tu avec ces 4 Ko de RAM ?
  • Envoyer des gens sur la lune
  • 2019

  • Que fais-tu avec ces 16 Go de RAM et 102 % de CPU ?
  • Excel a une boîte de dialogue ouverte quelque part
  • Aujourd'hui, Microsoft est inutilement malmené par ces commentateurs, même s'ils sont suffisamment importants pour le supporter, car à mon avis, la « ballonnement » est une caractéristique courante de l'informatique du 20e siècle. Par exemple, examinez les machines virtuelles et les exigences importantes en matière de mémoire/CPU des langages populaires Java et Python. À mesure que les applications dans ces langages et dans d’autres se modernisent et évoluent vers le cloud, les logiciels surchargés deviennent des bilans FinOps surchargés. La dépendance augmente ensuite d’un ordre de grandeur lorsque l’IA générative s’ajoute au mélange, avec ses énormes frais de calcul. Les processus de formation et d'inférence clés nécessitent du matériel spécialisé puissant, des GPU, dont l'approvisionnement devient de plus en plus rare et plus difficile.

    Par conséquent, en plus d’augmenter les coûts liés à une utilisation inefficace de la mémoire et du calcul, en particulier mais pas exclusivement pour les applications gourmandes en données, cela entraîne une consommation d’énergie excessive et crée un impact environnemental. Des tensions géopolitiques pourraient également surgir alors que des nations et des économies puissantes se disputent le calcul, comme celles en jeu dans la mer de Chine méridionale, liées à l'importance stratégique de TSMC (Taiwan Semiconductor Manufacturing Company).

    C'est ici que Wirth et le secteur financier entrent en jeu. Pascal et Delphi étaient bien utilisés dans les services financiers (notez la connexion suisse ! ), tout comme d'autres langages légers « laconiques », tandis que les ingénieurs des années 1970 construisaient leur fusée hyper-efficace. Un autre langage dans lequel Wirth a participé était le langage vectoriel APL, conçu par le Canadien Kenneth Iverson. Wirth était le superviseur académique de « l’interprète pour Iverson Notation », un élément fondamental de l’APL, alias A Programming Language. Le A dans APL, réalisé par Morgan Stanley, deviendra plus tard K et finalement Q. Lorsque vous voyez les prix de négociation en direct et les analyses en temps réel de vos banques et courtiers, en particulier dans les actions, les devises et autres actifs à haute fréquence, tels sont les langages utilisés, légers, concis et très efficaces.

    encombrement des logiciels qui font tourner le monde, y compris les nouveaux algorithmes de GenAI, c'est à ces types de langages et de bibliothèques concis et serrés, pratiqués et éprouvés en finance, que les centres de données, les services cloud Les fournisseurs (CSP) et bien d’autres se tourneront vers eux.

    RIP Niklaus Wirth. Je terminerai en citant deux penseurs avec lesquels je pense que le professeur Wirth aurait été d'accord  :

  • CAR Hoare, « Il existe deux manières de construire une conception logicielle  : l'une consiste à la rendre si simple qu'il n'y ait évidemment aucune lacune, et l'autre est de la rendre si compliquée qu'il n'y ait aucune lacune évidente. La première méthode est bien plus difficile. »
  • Une trop grande partie des logiciels modernes optent pour cette dernière solution.

  • Antoine de Saint-Exupéry : « La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retrancher. »
  • C’est quelque peu contre-intuitif dans un monde où les nouvelles fonctionnalités et les nouvelles capacités stimulent l’innovation, mais la simplicité présente des avantages considérables.