Décès de Niklaus Wirth, auteur de nombreux langages de programmation

38
4
jan.
2024
Programmation

Niklaus Wirth, informaticien suisse, père de nombreux langages de programmation dont Euler, Algol-W, Pascal, Modula et Oberon, travaux pour lesquels il fut lauréat du Prix Turing en 1984, est décédé le 1ᵉʳ janvier 2024.

Photo de Niklaus Wirth

Il a travaillé à l'université Stanford comme professeur assistant (1963–1967) puis à l'université de Zurich et comme professeur à l'ETHZ (1968–1999). Il a également passé deux années sabbatiques au Xerox PARC (1976–1977 et 1984–1985).

Niklaus Wirth est connu pour son travail remarquable sur les langages de programmation, axé sur la simplicité, la clarté et l’efficacité. Dans les années 60, il travaille sur l’extension et la généralisation d’ALGOL 60, ce qui donnera naissance au langage Euler. Comme membre de l’IFIP Working Group 2.1, il participe au support et à la maintenance de l’ALGOL 60 et à la définition de l’ALGOL 68. Dans ce cadre, il conçoit l’ALGOL-W avec Tony Hoare. Cette proposition ne sera pas retenue pour l’ALGOL 68 mais deviendra la base de Pascal (1970), qui, à son tour, influencera la création de Modula (1975), puis Modula-2 (1978) et Oberon (1987).

De retour de Xerox PARC en 1978, dont il ne peut ramener un Xerox Alto, il crée un ordinateur ad-hoc pour y implémenter et tester ses idées, le Lilith (Modula-2). Sortie officiellement en 1980, la machine sera construite à plusieurs centaines d’exemplaires et aura même droit à un passage en revue dans Byte en 1984. Son successeur, le Ceres sera construit en 1987 avec le système d’exploitation Oberon System, écrit dans le langage Oberon .

Son discours de réception du prix Turing en 1984, « From Programming Language Design to Computer Construction », porte sur la relation entre la conception des langages de programmation et la conception des ordinateurs qu’il expérimente depuis son passage au Xerox PARC.

Comme professeur à l’ETHZ, il a dirigé plusieurs thèses, dont celle de Martin Odersky, le père de Scala, que l’on peut voir comme l’un de ses héritiers.

Il est aussi connu pour avoir popularisé l’idée que les « les programmes ralentissent plus vite que le matériel n’accélère » dans son article de 1995 « A Plea for Lean Software », adage désormais connu sous le nom de loi de Wirth.

Aller plus loin

  • # Un petit hommage mastonodique (en anglais)

    Posté par  (site web personnel, Mastodon) . Évalué à 5.

    Seeing my daughter struggle with C in an introduction to computer science course reminds me just how much better #Pascal was.

    Quand je vois ma fille se bagarrer avec C dans un cours d'initiation à l'informatique, je me souviens que c'était nettement mieux avec Pascal.

    https://scholar.social/@ehud/111702763571551659

    « Tak ne veut pas quʼon pense à lui, il veut quʼon pense », Terry Pratchett, Déraillé.

    • [^] # Re: Un petit hommage mastonodique (en anglais)

      Posté par  (site web personnel) . Évalué à 2. Dernière modification le 05 janvier 2024 à 12:32.

      Tiens, moi, à titre personnel, ce fût exactement l'inverse. Quel soulagement quand, au lycée, on est enfin passé du (Turbo) Pascal au (Turbo) C ! Comme quoi, les goûts et les couleurs…

      À noter que l'auteur de la citation laisse entendre que sa fille aurait eu moins de mal avec le Pascal qu'avec le C, mais au final, il n'en sait rien…

      Cyberdépendance, cyberharcèlement, pédocriminalité… : Zelbinium, pour que les smartphones soient la solution, pas le problème !

      • [^] # Re: Un petit hommage mastonodique (en anglais)

        Posté par  (site web personnel) . Évalué à 3.

        Le (Turbo)T pour dans à peu près 3 mois ?

      • [^] # Re: Un petit hommage mastonodique (en anglais)

        Posté par  . Évalué à 4.

        J'ai commencé par GWBasic (parce que c'était livré en standard avec MS/DOS) et j'ai adoré le passage au Pascal. D'abord sans un vrai IDE avec Turbo Pascal 3, puis l'arrivée d'un vrai IDE avec Turbo Pascal 5.5. Et tout ce que je vois aujourd'hui (dans Eclipse/Netbeans/Intellij/VisualStudio/…) reste totalement basé sur les mêmes principes qui sont apparus à cette époque là.

        Le passage au C puis au C++ s'est fait sur les outils Borland, et ça m'a bien facilité la vie. Le passage au Java a été plus douloureux.

        Le pascal était une bonne transition entre le Basic et le C. On commence à voir un peu plus ce qui se passe sous le capot, sans pour autant y passer sa vie.

        Je regrette surtout la gestion des chaînes de caractères, et la longueur stockée au début du tableau - au lieu de l'infâme "\0" à scanner…

    • [^] # Re: Un petit hommage mastonodique (en anglais)

      Posté par  (site web personnel) . Évalué à 4.

      Il ne précise pas quel niveau d'enseignement suit sa fille. Si ça avait été en France dans les années 90 au lycée elle aurait fait du Pascal. Et de nos jours du Python.
      Apprendre le C est une bonne base pour comprendre les "tripes" de l'informatique, mais pour l'initiation du plus grand nombre ce n'est pas la meilleure idée…

      • [^] # Re: Un petit hommage mastonodique (en anglais)

        Posté par  (site web personnel, Mastodon) . Évalué à 2.

        J'ai appris le Pascal à l'école avant cela je m'étais formé en autodidacte au basic et à l'assembleur, j'ai trouvé le Pascal extrêmement limité d'autant plus quand je me suis mis au C par la suite

        https://www.funix.org mettez un manchot dans votre PC

        • [^] # Re: Un petit hommage mastonodique (en anglais)

          Posté par  . Évalué à 3. Dernière modification le 05 janvier 2024 à 15:38.

          Il faut comparer ce qui est comparable.

          La période de gloire de Pascal correspond à la fin des années 70 et toutes les années 80, le mythique Turbo Pascal est sorti fin 83. Apple utilise Pascal pour ses développements Macintosh…

          Pour les étudiants qui ont rencontrées le Pascal dans l'Education Nationale des années 90, il s'agissait déjà d'une relique d'une gloire passée qui forcément ne tenait plus trop la comparaison avec la concurrence…

          L'auteur a développé d'autres langages abandonnant le nom Pascal également. Sur le plan commercial dans les années 90, Borland travaillait sur Delphi qui a eu aussi un succès significatif.

          En France, Pascal a été longtemps "défendu culturellement" par ce magazine : http://www.jcolibri.com/pascalissime/pascalissime.html

          • [^] # Re: Un petit hommage mastonodique (en anglais)

            Posté par  (site web personnel) . Évalué à 2.

            En France, Pascal a été longtemps "défendu culturellement" par ce magazine : http://www.jcolibri.com/pascalissime/pascalissime.html

            ah mais Pascalissime était une super revue ! Je traduisais pas mal des codes en C (que je préférais). Cela m'avait permis de rajouter un interpréteur de formules mathématiques à mon logiciel de tracé de courbes en tous genres : y=f(x), z=f(x,y), courbes paramétrées, projections dans le plan complexe Z'=f(Z) (ça ça venait peut-être des cahiers du programmeur de SVM…), diverses fractales…

          • [^] # Re: Un petit hommage mastonodique (en anglais)

            Posté par  (site web personnel) . Évalué à 3.

            Pour les étudiants qui ont rencontrées le Pascal dans l'Education Nationale des années 90

            Ah le TurboPascal avec bibliothèque en français pour masquer les difficultés (exemple la fonction efface_ecran()) et permettre aux prépas de se concentrer sur les vrais sujets de la vraie vie qui compte : la transformée de Fourrier rapide ou l'inversion de matrice. Souvenirs.

          • [^] # Re: Un petit hommage mastonodique (en anglais)

            Posté par  . Évalué à 2.

            La période de gloire de Pascal correspond à la fin des années 70 et toutes les années 80

            Effectivement j'en ai fait un peu en Terminale après du DOS et du Basic en Première. J'étais pas très fort, je préférais les automatismes pneumatiques avec les vérins, les contacteurs, les cellules logiques et les petites farces que l'on peut faire en TP.

            Pour les étudiants qui ont rencontrées le Pascal dans l'Education Nationale des années 90, il s'agissait déjà d'une relique d'une gloire passée

            Eh oui ! J'ai le souvenir douloureux d'un passage au LISP pour programmer des macros AutoCad. J'ai rien compris mais j'avais un bon binôme.

            Plus tard: Fortran/UNIX/Logiciels Libres/Linux :-)

            "Si tous les cons volaient, il ferait nuit" F. Dard

    • [^] # Re: Un petit hommage mastonodique (en anglais)

      Posté par  . Évalué à 3.

      Bah, le problème avec Pascal c'est qu'il y avait trop de version différentes, alors que C est resté plus "uniforme". L'apparition de gcc gratuit a fait le reste..

  • # Un hommage complémentaire

    Posté par  (site web personnel) . Évalué à 5.

    Incidemment, avant de lire LinuxFR, j'y suis allé aussi de mon hommage sur Standblog.org : https://www.standblog.org/blog/post/2024/01/05/Deces-de-Niklaus-Wirth .

  • # Nickel's Worth

    Posté par  (site web personnel) . Évalué à 3.

    Il y a aussi cette anecdote savoureuse à propos de la prononciation de son nom en Amérique, qui aurait souvent été écorchée en Nickel's Worth (approx: qui ne vaut pas grand chose), alors qu'en Europe les gens s'en seraient à peu près sortis.

    A laquelle, selon la légende, il aurait répondu :

    "You can call me by name 'Wirth' or value 'Worth' ;-)"

    Pascalien jusqu'au bout, en somme :-)

    Autre anecdote bien moins connue, il y a failli avoir un Borland Turbo Modula-2 !

    Cf. aussi la nécro sur Le Temps

    • [^] # Re: Nickel's Worth

      Posté par  . Évalué à 5.

      Bonjour,

      il y a eu un turbo-modula2 (sous CP/M et DOS) … je l'ai dans mon répertoire Dosbox-X et CP/M ) …

      Quand je lis que Pascal/Modula2 sont "limités", ça me donne des boutons … enfin, passons.

      J'ai découvert Pascal avec JRT-Pascal (chaînes de caractères de 64k!) sous CP/M suivi par TurboPascal (3.01), toujours sous CP/M. Puis sous MsDos et rapidement, sous Modula2 (JPI Modula2, versions 1, 2 et 3); aussi installé sous Dosbox ici.

      Suis passé à Minix et ensuite à Linux définitivement en 1993. Sans passer par Windows.

      Ces langages ne sont absolument pas "limités" et n'ont rien à envier au "maudit" C/C++.

      Souvenez-vous que des systèmes d'exploitation complets ont été écrits avec Modula2/Oberon. À partir du bare-métal.

      Et apprendre à programmer en "C" est une hérésie à mon avis. Pascal est bien mieux conçu pour ça (et a été conçu principalement pour ça)

      Bon, ça reste mon avis, bien sûr.

      • [^] # Re: Nickel's Worth

        Posté par  (site web personnel) . Évalué à 1. Dernière modification le 06 janvier 2024 à 10:44.

        il y a eu un turbo-modula2 (sous CP/M et DOS) … je l'ai dans mon répertoire Dosbox-X et CP/M ) …

        D'après le lien que j'indiquais, pas chez Borland et a priori pas sous ce nom (plutôt TopSpeed Modula-2).

        Si tu as une version "Turbo Modula-2", c'est peut être un super collector !

        Personnellement, j'aimais bien ce langage que j'avais découvert dans le livre de Wirth "Programmer en MODULA 2" (c'était l'époque où l'on apprenait les langages de programmation dans des livres, sans Web, ni Copilot ! Sûrement acheté à la librairie "Le monde en tique", petite larme nostalgique au passage :-)), mais je n'ai rien fait de significatif avec.

        Ces langages ne sont absolument pas "limités" et n'ont rien à envier au "maudit" C/C++.

        Quand j'étudiais l'informatique il y a 35 ans, il nous est arrivé d'écrire le même programme en assembleur, en C et en Pascal. Je ne sais plus quel était le compilateur utilisé à l'époque, mais il n'y avait pas photo sur la faible performance du Pascal. Sans doute à cause du P-code généré ?

        Je n'avais personnellement pas parlé de "limites", mais par rapport aux langages modernes il y en a beaucoup. C'est sûr qu'en Pascal, comme en assembleur, on peut probablement tout faire, mais au prix de quel effort ! Les structures de données évoluées, les bibliothèques, les classes, les paquetages, la programmation concurrente, etc. apparaissent aujourd'hui comme d'énormes limites.

        Pascal a eu son heure de gloire, son intérêt pédagogique, mais est très bien dans un musée aujourd'hui.

        Je ne sais pas trop en quoi le C aurait été "maudit" (après tout ce n'est qu'un outil) par contre ce n'était clairement pas fait pour les gens non rigoureux ou systématiques, c'est certain :-)

        Pour illustrer mon propos sur les langages anciens, j'ai fait un peu de rétrofit de fonctionnalités sympa du Python en C comme les listes. Au final, ça m'a pris un été pour refaire ce qui est aujourd'hui communément disponible dans beaucoup de langages modernes… Mais ce qui me manque le plus en C aujourd'hui c'est un système de paquetage à la Python. Il y a bien Conan sur le marché, mais je ne l'ai pas encore essayé.

        Et apprendre à programmer en "C" est une hérésie à mon avis. Pascal est bien mieux conçu pour ça (et a été conçu principalement pour ça)

        Pascal était plus adapté pour apprendre à programmer. Maintenant il y a bien mieux. Python, notamment, a beaucoup de qualités pour l'enseignement de l'informatique, dont son côté "fun" en particulier (critère ultra important de mon point de vue).

        De mémoire, à mon époque on apprenait l'algorithmique sur papier, puis la programmation en Pascal, puis on passait au C pour faire des choses sérieuses :-) (je suis provocateur là, ne réagissez pas au quart de tour).

        Mais, au fond, ça me semble être le même débat que l'apprentissage du modèle OSI versus celui de TCP/IP. C'est bien de faire de la théorie, mais il faut passer un jour à la pratique, et une pratique si possible utile. Pendant qu'on se gargarisait de notre modèle en 7 couches, des gens pragmatiques écrivaient TCP/IP. Ce n'était pas un chef d'oeuvre, mais au final OSI TP-4 n'aura pas transporté beaucoup de paquets…

        Pour en revenir à Monsieur Wirth, il faut lui reconnaître d'avoir su concilier théorie et pratique, d'avoir compris avant beaucoup d'autres les vertus de la simplicité, et d'avoir créé toute une série de langages dont on retrouve la génétique dans beaucoup des langages modernes dont je parlais plus haut.

        Son Oeuvre est effectivement considérable.

      • [^] # Re: Nickel's Worth

        Posté par  (site web personnel, Mastodon) . Évalué à -2.

        Ces langages ne sont absolument pas "limités" et n'ont rien à envier au "maudit" C/C++.

        bof, j'ai beaucoup fait d'informatique embarquée, avec EPROM et FPGA au plus près du hard et il me serait pas venu à l'idée de faire ça en Pascal qui n'était franchement pas adapté et qui n'offrait pas les outils pour le faire.
        Pour apprendre ça va 5min, après il fallait passer à quelque chose de plus sérieux.

        https://www.funix.org mettez un manchot dans votre PC

        • [^] # Re: Nickel's Worth

          Posté par  (site web personnel) . Évalué à 7.

          Pourquoi Pascal ne serait pas adapté pour l'informatique embarquée ? Après tout le Turbo Rascal que je mentionne dans un autre commentaire permets de travailler avec des machines très contraintes.

          Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

        • [^] # Re: Nickel's Worth

          Posté par  . Évalué à 5.

          bonjour,

          ça ressemble à un troll d'enfer, ça …

          Oberon est utilisé pour créer un OS pour des processeurs RISC/i386, matériel compris pour Risc.

          http://projectoberon.net/

          Modula2 a été utilisé pour les stations de travail Lilith, OS, gestion du matériel, etc.

          Modula2 est utilisé pour la commande des missiles russes, ainsi que leurs satellites.

          Une partie du métro parisien était écrit en Modula2. (il y a des années, maintenant, je ne sais pas)

          TeX a été écrit en pascal… si si… et est toujours utilisé depuis 30/40 ans.

          Je pourrai ajouter plein d'exemples, mais bon, à quoi bon.

          Eric

  • # Mais, au fait...

    Posté par  (site web personnel) . Évalué à 3.

    On est certain de ce que signifie « décès » ?

    Adhérer à l'April, ça vous tente ?

    • [^] # Re: Mais, au fait...

      Posté par  (site web personnel) . Évalué à 1.

      On ne peut désormais plus parler de lui que par référence ?

      Mais « trépas » aurait sans doute été plus approprié si je comprends bien l'esprit de votre question !

  • # Oberon le projet matériel / hardware

    Posté par  . Évalué à 1.

    Le projet Oberon dont le langage est la culmination des langages de l'auteur, inclut également non seulement un système d'exploitation mais aussi un processeur pour le faire tourner, toujours dans un style simple et direct.

    Le chapitre du livre correspondant est :
    https://people.inf.ethz.ch/wirth/ProjectOberon/PO.Computer.pdf

    Vu que ces publications seront maintenant figées, il serait peut etre utile de les traduire en français si cela n'existe pas déjà. Ce type d'ouvrage ne court pas les rues, en libre distribution ou pas.

    • [^] # Re: Oberon le projet matériel / hardware

      Posté par  . Évalué à 1.

      Ces ouvrages (sur Oberon) sont libres d'accès et m'ont permis d'apprendre comment était construit un compilateur, un système d'exploitation); avec l'aide aussi des bouquins de Knuth (TeX), le "dragon book" etc. et les libres de Tannenbaum (Minix, réseau, OS partagé)

  • # Le Pascal bouge encore

    Posté par  (site web personnel) . Évalué à 5.

    Outre le très connu freepascal, il y a aussi Turbo Rascal.

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: Le Pascal bouge encore

      Posté par  . Évalué à 1.

      Hallucinant qu'un outil de dev cross platform 8bits puisse exister !
      Les machines de l'époque n'avaient malheureusement pas les ressources pour imaginer un tel outil.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.