Niklaus Wirth

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir Wirth.
Niklaus Wirth
Description de l'image Niklaus Wirth, UrGU.jpg.
Naissance (84 ans)
Winterthour (Suisse)
Nationalité Drapeau de Suisse Suisse
Domaines Électricité, informatique
Institutions École polytechnique fédérale de Zurich
Université Stanford
Université de Zurich
Diplôme École polytechnique fédérale de Zurich
Directeur de thèse Harry Huskey
Renommé pour inventeur du langage Pascal
Distinctions prix Turing
prix d'excellence du SIGPLAN

Niklaus Emil Wirth, né le , à Winterthour (Suisse), est un professeur d'informatique, inventeur de plusieurs langages de programmation.

Carrière universitaire[modifier | modifier le code]

Il a un diplôme d'Elektroingenieur (ingénieur en électronique) de l'Eidgenössische Technische Hochschule (École polytechnique fédérale, ETH) de Zurich (Suisse), une maîtrise en sciences (MSc) de l'université Laval (de Québec) et un doctorat (PhD) de l'université de Californie à Berkeley (États-Unis) (son directeur était Harry Huskey).

Il est professeur-assistant à l'université Stanford de 1963 à 1967, puis à l'université de Zurich. Il devient ensuite professeur d'informatique à lEPF de Zurich.

Niklaus Wirth a pris sa retraite en avril 1999.

Distinctions[modifier | modifier le code]

En 1984, il reçoit le prix Turing.

En 2007, il reçoit le prix d'excellence du SIGPLAN de l'ACM.

Travaux sur les langages de programmation[modifier | modifier le code]

De 1964 à 1967, il a travaillé dans le groupe IFIP2.1 dont la tâche était d'améliorer le langage ALGOL-60. Ce qui aboutit à l'Algol 68. La proposition de Wirth était moins ambitieuse : il s'agissait seulement d'une dérivation de l'ALGOL-60 (qui fut réalisée ensuite sous le nom d'ALGOL-W).

En 1968, Wirth définit le PL360, un "assembleur de haut niveau" destiné d'abord aux IBM 360[n 1]. Avec ce PL360, il réalisera son Algol W.

De 1968 à 1972, déçu par Algol X devenu Algol 68, il travaille – seul cette fois – à Zurich sur son langage Pascal, basé sur ses travaux précédents de l'ALGOL-W.

Pascal se veut didactique, simple, clair, efficace. Au plan didactique, il s'agit de privilégier l'analyse. Pour la clarté, il se rallie à la programmation structurée. Pour l'efficacité (dont Algol 60 put manquer), il privilégie les mécanismes statiques, et ce qui permet la compilation en une passe (la déclaration précède toujours l'emploi).

Wirth écrit avec Urs Amman un premier compilateur pour le CDC 6600 de l'EPF de Zurich, et en donne le code source à qui le lui demande, en particulier à l'université Laval.

De 1972 à 1974, il met au point le PCode, un code intermédiaire généré par un compilateur (Pascal) indépendant de la machine, et exécutable sur n'importe quelle machine dotée de l'interpréteur adéquat. Cette stratégie facilite le portage des compilateurs (par exemple, sur l'Iris 80 par l'INRIA).

Ce P-code sera la base du Pascal UCSD, de l'université de Californie à San Diego. Le principe en sera repris par Java puis Matlab.

De 1973 à 1976, il travaille sur le langage Modula, un dérivé de Pascal permettant d'écrire un système d'exploitation complet.

Machine Lilith de Niklaus Wirth

De 1977 à 1981, il travaille sur le projet d'une station de travail puissante nommée Lilith. Dans le même temps, il met au point la deuxième version de Modula, Modula-2 qui est aussi le langage du système d'exploitation destiné à la machine Lilith, et pour lequel il définit un M-code. La distinction claire entre modules symboliques et modules systèmes apporte fiabilité et portabilité aux grosses applications.

En 1988, il met au point le langage Oberon, un dérivé de Modula avec la notion d'export des procédures. Une procédure est utilisable par n'importe quel programme. Comme Modula-2, Oberon comprend un système d'exploitation complet.

En 1995, il énonce pour la première fois ce qui sera connu sous le nom de loi de Wirth.

Publications[modifier | modifier le code]

  • (en) avec J. W. Wells et E. H. Satterthwaite, The PL360 system, Stanford, Stanford University, .
  • (en) Introduction à la programmation systématique (trad. Olivier Lecarmem), Paris, Masson, .
  • (en) avec K. Jense (trad. Ph. Kruchten et J. A. Hernandezm), PASCAL : manuel de l'utilisateur, Paris, Eyrolles,
  • (en) Programmer en Modula-2m, Lausanne, Presses Polytechniques Romandes, .
  • (en) Algorithmes et structures de données (trad. J.A. Hernandez et P. Kruchten), Paris, Eyrolles, , édition=2 éd..
  • (en) avec M. Reiser, Programming in Oberon : steps beyond Pascal and Modula, Addison-Wesley, .
  • (en) avec N. Wirth, Jurg Gutknecht, Project OBERON : the design of an operating system and compilerm, NY, ACM press, .
  • (en) Digital circuit design for computer science students: an introductory textbook, Berlin, Springer, .
  • (en) Compiler constructionm, Harlow, Addison-Wesley, .

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

  1. C'est l'origine de langages comme le PL 16, du T1600 Télémécanique.

Références[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • Jean Chion, Le langage Algol W : initiation aux algorithmes, Presses universitaires de Grenoble, 1973

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :