En souvenir de Niklaus Wirth : père de Pascal et inspiration pour beaucoup

Bien que son nom ne soit peut-être pas aussi connu que celui d’autres pionniers de l’évolution rapide du matériel informatique et des logiciels qui l’exécutaient au siècle dernier, les contributions de Niklaus Wirth le placent au même rang que d’autres géants. Étant un visage très familier tant dans sa Suisse natale à l’université ETH Zurich – qu’à Stanford et dans d’autres endroits dans le monde où l’histoire de l’informatique a été écrite – Niklaus nous a non seulement donné Pascal et Modula-2, mais a également inspiré d’innombrables autres langages. ainsi que leurs développeurs.

Malheureusement, Niklaus Wirth est décédé le 1er janvier 2024, à l’âge de 89 ans. Jusqu’à sa mort, il a continué à travailler sur le langage de programmation Oberon, ainsi que sur son système d’exploitation associé : Oberon System et le multi-processus SMP- Système d’exploitation A2 (Bluebottle) compatible qui fonctionne nativement sur le matériel x86, X86_64 et ARM. Laissant derrière lui un héritage qui s’étend des années 1960 à aujourd’hui, il est difficile d’imaginer un aspect de l’informatique moderne qui n’ait pas été influencé ou directement amélioré par Niklaus.

Un nouvel ALGOL

Niklaus Wirth en 1969 (Crédit : Robert M. McClure)
Niklaus Wirth en 1969 (Crédit : Robert M. McClure)

Niklaus Wirth est né en 1938, a obtenu son baccalauréat ès sciences à l’ETH Zurich en 1959, sa maîtrise ès sciences à l’Université Laval à Québec en 1960, suivi en 1963 par son doctorat en génie électrique et informatique à l’Université de Californie. , Berkeley. Après cela, il a travaillé de 1963 à 1967 comme professeur adjoint d’informatique à l’Université de Stanford.

Pendant ce temps, il développera le langage de programmation Euler avec Helmut Weber, comme généralisation et extension du langage de programmation ALGOL 60 alors populaire. Il concevrait également PL360, un langage de programmation système pour IBM System/360, qui était le nouveau système informatique de l’Université de Stanford. Sa description du PL360 et le raisonnement derrière sa conception ont été publiés dans le volume 15, numéro 1 du Journal de l’ACM (Association for Computing Machinery). Il y exprime l’espoir que PL360 sera utilisé comme langage de didacticiel et intéressera les concepteurs des futurs ordinateurs, illustrant comment il se concentrait moins sur cette plate-forme IBM que sur le développement de langages de programmation en général.

ALGOL 60 devenant un peu long, un appel à suggestions a été lancé pour la prochaine version d’ALGOL, appelée « ALGOL X » comme espace réservé. En 1965, Niklaus soumit une proposition pour un ensemble d’ajouts à ALGOL 60, qui fut rejetée car « pas assez ambitieuse » pour une nouvelle version d’ALGOL. Il fut néanmoins invité à soumettre ses suggestions au magazine ACM, où elles parurent dans le numéro de juin 1966. Niklaus développerait sa proposition en une extension d’ALGOL 60, appelée ALGOL W, tandis que la proposition de son collègue Adriaan van Wijngaarden pour ALGOL X deviendrait ALGOL 68.

Malgré le caractère quelque peu compétitif, il n’y avait pas de tensions entre les parties impliquées, le très jovial Niklaus Wirth incitant par exemple Van Wijngaarden à ironiser lors du congrès de l’IFIP de 1965 : « Alors que les Européens prononcent généralement son nom de la bonne manière (« Nick-louse Veert’), les Américains le transforment invariablement en « Nickel’s Worth ». C’est-à-dire que les Européens l’appellent par son nom, mais les Américains l’appellent par sa valeur. »

Pascal et au-delà

Suivant tout à fait son propre parcours, Niklaus a utilisé ALGOL W comme base pour ce qui allait finalement devenir Pascal, du nom du célèbre mathématicien et physicien français Blaise Pascal. Lancé pour la première fois en 1970, ce langage de programmation allait exaucer bon nombre des souhaits de Niklaus avec le PL360, dans la mesure où il devenait un outil pédagogique important dans les écoles et les universités, tout en étant utilisé pour programmer des mini-ordinateurs qui rendaient les ordinateurs toujours plus accessibles à l’extérieur. des grandes universités et entreprises.

Un poste de travail Lilith, exposé au Enter Museum, Soleure.
Un poste de travail Lilith, exposé au Enter Museum, Soleure.

Pascal s’est vu développé par Borland et Apple en Pascal Objet, dont le dialecte Delphi est probablement l’un des plus connus. Pendant ce temps, Niklaus avait commencé à développer un nouveau langage appelé Modula, mais après un congé sabbatique en 1976 – au cours duquel il a passé du temps dans les laboratoires Xerox PARC et s’est inspiré de leur système Xerox Alto et du langage Mesa qui l’accompagne – il a abandonné Modula et a créé Modula-2 à la place. qui s’est vu associé à la station de travail Lilith développée par l’ETH Zurich, lancée en 1980.

Il s’agissait d’un système basé sur AMD 2900, exécutant le système d’exploitation Medos-2, entièrement écrit en Modula-2. De là a suivi la station de travail Ceres de 1987 avec son malheureux processeur NS32000, qui a vu la première utilisation du système Oberon. Bien qu’un Modula-3 ait également été publié, il n’a pas été développé par Niklaus Wirth, mais plutôt par Maurice Wilkes qui a obtenu de Niklaus la permission de continuer avec Modula puisque Niklaus lui-même était occupé avec le langage de programmation Oberon, ainsi que le système d’exploitation qui y était écrit. .

Le Songe d’une nuit d’été

Exemple d'interface utilisateur avec zoom.
Exemple d’interface utilisateur avec zoom.

Il est difficile de vraiment examiner la carrière de Niklaus Wirth et d’avoir autre chose que le sentiment qu’il en a vraiment apprécié chaque aspect, qu’il s’agisse du défi de créer un nouveau et meilleur langage de programmation, d’échanger des idées avec des collègues partageant les mêmes idées ou moins, ou de plus en plus de développement d’un système d’exploitation, en expérimentant à la fois les interfaces utilisateur basées sur du texte (TUI) et les interfaces utilisateur avec zoom (ZUI). Bien qu’il ait noté que les logiciels en général, à la fin des années 1980, avaient commencé à dépasser les capacités du matériel sur lequel ils fonctionnaient (appelée loi de Wirth), cela ne l’a pas dissuadé de continuer avec ce qu’il pensait être juste.

Ses efforts pour faire progresser l’état des langages de programmation informatique ont été reconnus par l’ACM en 1984 lorsqu’il a reçu le prix Turing, ainsi qu’une série de livres tels que Algorithmes + Structures de données = Programmes qui ont été largement utilisés tant dans l’éducation qu’en dehors. Bien que des langages comme Pascal ne soient que peu présents dans le monde informatique actuel, il est difficile de sous-estimer l’impact qu’ils ont, ainsi que Modula-2 et d’autres langages conçus par Niklaus Wirth, sur le paysage informatique actuel.

Une grande partie de ce que nous acceptons aujourd’hui comme la norme avec les langages de programmation impératifs et orientés objet, qu’il s’agisse de C++, Ada, Java ou de l’un des centaines d’autres langages, grands et petits, qui existent aujourd’hui, peut trouver ses racines dans ALGOL 60. façonné et nourri par les efforts de Niklaus au fil des décennies pour rendre les langages de programmation aussi simples et efficaces que possible. Aujourd’hui encore, des universités comme Oxford continuent d’utiliser Oberon dans leurs cours d’informatique, Oxford disposant même de son propre compilateur Oberon-2 (OBC).

Alors que de nombreux langages de programmation modernes ont une courbe d’apprentissage essentiellement verticale, Oberon et ses prédécesseurs ont la propriété d’être avant tout simples et élégants, ce qui en fait d’excellents outils pédagogiques aux côtés des livres de Niklaus. Même s’il peut sembler étrange d’apprendre aux étudiants à programmer dans une langue qu’ils ne rencontreront probablement pas dans le cadre d’un travail, Niklaus Wirth a démontré au fil des années que ce n’est pas la langue qui compte, mais plutôt les structures et les définitions qui la sous-tendent.

Plutôt que de développer ALGOL jusque dans les années 2000, il a plutôt choisi de concevoir, d’utiliser puis d’abandonner un langage de programmation après l’autre, insatisfait de certains aspects qu’il était certain de pouvoir améliorer lors de la prochaine itération.

Préserver l’héritage

Le plus grand risque pour l’héritage de Niklaus Wirth est peut-être l’oubli numérique, surtout si l’on considère les fruits de sa carrière. Même en faisant des recherches documentaires sur son passé universitaire et les projets logiciels comme Oberon (le langage et le système d’exploitation) et le système d’exploitation A2 (Bluebottle), il est navrant de voir la quantité d’hyperliens brisés et le référentiel de code défunt à l’ETH Zurich pour ce dernier. Système d’exploitation. J’ai pu trouver une ancienne copie miroir sur GitHub par Bernhard Treutwein, dans laquelle un certain nombre d’URL alternatives sont fournies, y compris une instance GitLab active qui semble être le référentiel principal.

Bien qu’une grande partie des informations et des données semblent toujours disponibles, il n’existe pas de bon moyen pour les nouveaux arrivants de se renseigner ou de se lancer dans ces derniers projets de Niklaus, avec généralement plus d’informations disponibles sur les sites Web en langue russe, probablement en raison de la utilisation de Modula-2 et parents en Union soviétique et dans les États successeurs. Cet État fragmenté fait courir le risque qu’une part de plus en plus grande de ce vaste héritage se détériore lentement, sans que peu de personnes en soient conscientes et encore moins en essayant de tout préserver.

L’héritage de Niklaus Wirth doit être préservé pour toujours dans sa gloire en constante évolution et un peu parfaite, de peur que tout cela ne devienne juste un Songe d’une nuit d’été à peine rappelé.

(Image du haut : Niklaus Wirth avec le système Lilith qu’il a développé dans les années 1970. (Photo : ETH Zurich) )

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.fr, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.fr.