Niklaus Wirth

Page d’aide sur l’homonymie

Pour les articles homonymes, voir Wirth.

Niklaus Wirth
Niklaus Wirth en 2005.
Biographie
Naissance
Voir et modifier les données sur Wikidata
WinterthourVoir et modifier les données sur Wikidata
Décès
Voir et modifier les données sur Wikidata (à 89 ans)
ZurichVoir et modifier les données sur Wikidata
Nom de naissance
Niklaus Emil Wirth
Nationalité
suisseVoir et modifier les données sur Wikidata
Formation
École polytechnique fédérale de Zurich (baccalauréat universitaire ès sciences) (jusqu'en )
Université Laval (master of science) (jusqu'en )
Université de Californie à Berkeley (doctorat) (jusqu'en )Voir et modifier les données sur Wikidata
Activités
Informaticien, professeur d'université, programmeur, ingénieur, inventeurVoir et modifier les données sur Wikidata
Autres informations
A travaillé pour
Membre de
Directeurs de thèse
Influencé par
Site web
(en) people.inf.ethz.ch/wirthVoir et modifier les données sur Wikidata
Distinctions
Archives conservées par
Archives de l'École polytechnique fédérale de Zurich (en) (CH-001807-7:Hs 1544)[1]Voir et modifier les données sur Wikidata
Œuvres principales
Pascal, Algol W, Euler (d), PL360 (d), OberonVoir et modifier les données sur Wikidata
signature de Niklaus Wirth
Signature

modifier - modifier le code - modifier WikidataDocumentation du modèle

Niklaus Emil Wirth, né le à Winterthour (canton de Zurich) et mort le [2],[3], est un professeur d'informatique suisse, inventeur de plusieurs langages de programmation.

Carrière

Niklaus Wirth a un diplôme d'ingénieur en électronique (Elektroingenieur) de l'École polytechnique fédérale de Zurich (EPFZ, 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 à l'École polytechnique fédérale de Zurich.

Niklaus Wirth prend sa retraite en avril 1999.

Distinctions

Travaux sur les langages de programmation

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.

A propos de l'optimisation des ordinateurs

En 1992, il écrit dans le manuel du système Oberon qu'en dépit de la loi de Moore selon laquelle la puissance des semi-conducteurs double tous les deux ans, les logiciels tendent à grossir et à perdre de l'optimisation au même rythme. En 1995, il formalise ce principe qui sera connu sous le nom de loi de Wirth qui veut qu'en dépit d'incessants progrès matériels, logiciel lui tend à s'alourdir et ralentir[4].
En 2013, âgé de 79 ans, Wirth a produit une nouvelle version d’Oberon, allant jusqu’à fabriquer son propre microprocesseur sur la base de circuits FPGA[4].

En 1995, Wirth a publié un plaidoyer pour le logiciel frugal, bien avant que l'on parle d'obsolescence programmée. Il y explique les origines de la loi de Wirth, et dénonce la tendance qu'ont les auteurs de logiciels a fréquemment y ajouter de nombreuses fonctionnalités inutiles afin que l'on soit obligé d'en acheter régulièrement de nouvelles versions, plus lourdes, plus énergivores et nécessitant de jeter des matériels fonctionnant pourtant encore très bien[4].

Publications

  • (en) avec J. W. Wells et E. H. Satterthwaite, The PL360 system, Stanford, Stanford University, .
  • (en) Introduction à la programmation systématique (trad. Olivier Lecarme), Paris, Masson, .
  • (en) avec K. Jensen (trad. Ph. Kruchten et J. A. Hernandez), PASCAL : manuel de l'utilisateur, Paris, Eyrolles,
  • (en) Programmer en Modula-2, Lausanne, Presses Polytechniques Romandes, .
  • (en) Algorithmes et structures de données (trad. J. A. Hernandez et Ph. Kruchten), Paris, Eyrolles, , 2e é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 construction, Harlow, Addison-Wesley, .

Notes et références

Notes

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

Références

  1. « http://archivdatenbank-online.ethz.ch/hsa/#/content/cafabc2b0f2b42fca328eccac2cc70f7 » (consulté le )
  2. (en) « Computer pioneer Niklaus Wirth has died », sur ethz.ch, (consulté le )
  3. (de) « Niklaus Wirth ist tot: IT-Welt trauert um Erfinder von Pascal », sur winfuture.de, (consulté le )
  4. a b et c binaire, « Hommage à Niklaus Wirth », sur binaire, (consulté le )

Annexes

Sur les autres projets Wikimedia :

  • Niklaus Wirth, sur Wikimedia Commons

Bibliographie

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

Articles connexes

Liens externes

  • (en) Site officielVoir et modifier les données sur Wikidata
  • Ressources relatives à la rechercheVoir et modifier les données sur Wikidata :
    • Digital Bibliography & Library Project
    • Mathematics Genealogy Project
    • Scopus
  • Ressource relative à la vie publiqueVoir et modifier les données sur Wikidata :
    • Documents diplomatiques suisses 1848-1975
  • Ressource relative à l'audiovisuelVoir et modifier les données sur Wikidata :
    • IMDb
  • Notices dans des dictionnaires ou encyclopédies généralistesVoir et modifier les données sur Wikidata :
    • Base de données des élites suisses
    • Britannica
    • Brockhaus
    • Deutsche Biographie
    • Dictionnaire historique de la Suisse
    • Encyclopédie de l'histoire de Brno
    • Nationalencyklopedin
  • Notices d'autoritéVoir et modifier les données sur Wikidata :
    • VIAF
    • ISNI
    • BnF (données)
    • IdRef
    • LCCN
    • GND
    • Japon
    • CiNii
    • Belgique
    • Pays-Bas
    • Pologne
    • Israël
    • NUKAT
    • Australie
    • Norvège
    • Croatie
    • Tchéquie
    • Lettonie
    • WorldCat
v · m
Lauréats du prix Turing
  • icône décorative Portail de la programmation informatique
  • icône décorative Portail du canton de Zurich