RIP : Niklaus Wirth, pionnier de la conception de logiciels

Nécrologie L’informaticien suisse Niklaus Wirth est décédé le jour du Nouvel An, environ six semaines avant ce qui aurait été son 90e anniversaire.

Wirth est à juste titre célébré comme le créateur du langage de programmation Pascal, mais ce n’était qu’une étape dans une série de langages et de projets de recherche importants. L’astéroïde 21655 et une loi de la conception informatique portent son nom. Il a remporté le plus haut gong possible en informatique, le Turing Award, en 1984, et cette page contient quelques courts extraits en anglais d’une interview de 2018.

Vidéo Youtube

Niklaus Emil Wirth est né à Wintherthur en Suisse, le lendemain de la Saint-Valentin 1934. En 1959, il a obtenu son baccalauréat à l’ETH Zrich, où il est revenu plus tard dans sa vie et d’où ont émergé une grande partie de ses recherches importantes.

Il a changé de pays plusieurs fois au cours de sa vie. Son master en 1960 était obtenu à l’Université Laval au Canada et son doctorat en 1963 à l’UC Berkeley*, siège de Berkeley Unix, ou BSD comme on l’appelle habituellement. Il est resté en Californie pendant les quatre années suivantes en tant que professeur adjoint d’informatique à l’Université de Stanford. Durant cette période, il travaille sur ses deux premiers langages de programmation : Euler en 1965, et PL/360, publié en 1968.

En partie grâce à ce travail, il a été invité au groupe de travail planifiant la prochaine itération du langage de programmation ALGOL, pour remplacer ALGOL 60. Avec l’informaticien britannique Sir Tony Hoare, il a présenté une proposition appelée ALGOL-W. Cependant, celle-ci a été rejetée en faveur d’une proposition plus complexe d’Adriaan van Wijngaarden, devenue ALGOL-68.

Comme décrit dans History of ALGOL-68 de CH Lindsey [PDF]lorsque la proposition ALGOL-W a été rejetée, Wirth a démissionné du comité, contribuant à un « Mot de clôture » fort au Bulletin Algol 29 de novembre 1968, contenant des joyaux tels que :

Au lieu de cela, Wirth a repris sa proposition, l’a modifiée pour qu’elle soit un peu moins compatible avec ALGOL et l’a publiée en 1970 sous le nom de Pascal.

Ainsi, l’histoire de la création de Pascal a deux impacts différents et parallèles. Bien sûr, ce fut un grand succès et il est encore utilisé aujourd’hui. Le revers de la médaille, cependant, est que le trop compliqué ALGOL-68 a été un échec : comme le ALGOL-60 pour toujours la page le dit :

Il n’est pas exagéré de dire qu’ALGOL-60 a influencé tous les langages de programmation inventés par la suite, mais son influence a pris fin avec la version publiée après le départ de Wirth. Ses propres langages ont connu du succès, tant dans la recherche que commercialement. Delphi est toujours en vente, et le projet Free Pascal vient de publier la version 3.0 de son IDE multiplateforme Lazarus. Cependant, la complexité d’ALGOL-68 a ouvert des opportunités pour des langages plus récents et plus simples tels que C, Simula-67 et leur progéniture C++, ainsi que pour les légions d’autres langages et systèmes d’exploitation qui y sont implémentés.

La façon dont Van Wijngaarden a présenté Wirth sur scène lors du congrès de la Fédération internationale pour le traitement de l’information en 1965 donne une idée des relations entre les dirigeants des propositions rivales d’ALGOL. Il a fait une blague qui est devenue célèbre :

Si Wirth avait continué à travailler sur ALGOL, son énorme influence aurait pu perdurer. De même, s’il était resté fidèle à la célèbre marque Pascal, ses projets ultérieurs auraient pu la remplacer, plutôt que de survivre aux côtés de ses remplaçants prévus.

En 1976, Wirth nomme son prochain langage Modula [PDF]mais il a été rapidement remplacé par Modula-2 en 1977. Cela a ajouté des processus de coopération appelés coroutines au langage, en utilisant le modèle de processus communicants séquentiels de son ancien collègue CAR Hoare. (De nos jours, ces éléments figurent dans Erlang, Go et Clojure, et ont été ridiculisés par notre propre Verity Stob.) Dans les années 1980 et 1990, Modula-2 était un langage important dans l’industrie, comme nous l’avons évoqué lorsque GCC 13 a obtenu le soutien de ça l’année dernière.

Wirth a passé deux congés sabbatiques d’un an en Californie chez Xerox PARC, le premier en 1976-1977 et le second en 1984-1985. Inspiré par ce qu’il y a vu, à son retour à Zurich, il a créé le système Oberon, beaucoup plus ambitieux. Oberon est un langage de programmation, un environnement de développement à fenêtres en mosaïque et un système d’exploitation complet implémenté en lui-même. L’introduction au manuel Oberon [PDF] contient ce qui est devenu connu sous le nom la loi de Wirth, bien qu’il l’attribue modestement à Martin Reiser :

Le projet est décrit de manière très lisible dans Oberon the Overlooked Jewel [PDF], qui ne fait que 13 pages. Oberon a inspiré plusieurs successeurs, dont Oberon-2, Oberon 07 et Component Pascal.

Le système Oberon est une sorte de preuve d’existence de la façon dont un logiciel peut être très performant tout en étant presque incroyablement petit : le inner, outer et systools les archives de l’édition 2013 totalisent quelque 4 623 lignes de code, dans 262 Ko de texte. C’est tout l’environnement de base. Mais comme si cela ne suffisait pas, Wirth a expliqué l’idée dans un article célèbre de 1995, « A Plea for Lean Software » (l’original est un PDF, mais j’ai mis une version texte ici.)

Son mère nourricière L’ETH Zrich l’a interviewé en 2021 et les vidéos en allemand sont sous-titrées en anglais : Partie 1, Partie 2 et Partie 3.

D’après de nombreux témoignages, il était accessible, amical et plein d’esprit ; nous avons particulièrement aimé cet hommage du googleur Raph Levien. Wirth a pris sa retraite en avril 1999, mais en 2013, peu avant ses 80 ans, il est réapparu pour publier une version mise à jour du Projet Oberon.

Dans son travail, les langages et les outils qu’il a créés, dans son plaidoyer éloquent en faveur de logiciels plus petits et plus efficaces, même dans les projets sur lesquels il a abandonné son influence sur l’industrie informatique, ont été presque au-delà de toute mesure. L’industrie moderne du logiciel n’a manifestement pas réussi à tirer des leçons de lui. Même s’il nous a quittés, son œuvre a encore beaucoup à nous apprendre.

*Une version précédente de cette histoire l’appelait « UCSD » Pascal, dont un membre de ce projet a eu la gentillesse de nous rappeler qu’il était un dérivé du compilateur P2 de l’ETH Zrich.

www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Lire la suite