28 mai 1979

Un entretien avec Niklaus Wirth, créateur du langage Pascal

01 Informatique No. 542

Pascal, un outil adapté à l’industrie

Langage homogène et structuré, Pascal gagne chaque jour de nouveaux adeptes et connaît, à l’instar d’APL, des défenseurs passionnés. Ce nouveau langage semble promis à un bel avenir: il sert de base au projet de langage unique du DOD, département de la Défense des États-Unis, et au langage du système européen (ESL). Pascal a été conçu par Niklaus Wirth (professeur au Polytechnicum de Zurich). Nous reproduisons ici quelques extraits de l’interview qu’il a accordée à « 01 Mensuel » (no 130).

01: Selon vous, la programmation structurée est-elle une étape importante pour les utilisateurs sur la voie de la réduction de leurs coûts logiciel?

NW: Le terme « programmation structurée » a été trop largement et trop mal employé. En fait, qu’est-ce qu’il recouvre? Simplement l’ambition que soient utilisées des règles de base, une discipline, dans la création du logiciel comme cela se pratique dans tous les autres domaines techniques, notamment pour la construction des machines.

La programmation est une activité relativement récente et il n’est guère étonnant que l’on en soit encore au balbutiement pour la définition de ses règles de fabrication. De plus, la programmation est soumise à beaucoup moins de contraintes que d’autres domaines techniques. Elle jouit d’un grand degré de liberté. Cela, ajouté à la jeunesse de son existence, explique la difficulté qu’il y a à discipliner sa création.

01: Venons-en à votre création, le langage de programmation Pascal. Pouvez-vous nous dire quels sont les points essentiels qui le caractérisent par rapport aux autres grands langages tels que Cobol, PL/1, Fortran, etc.?

NW: C’est d’abord son homogénéité. Pascal n’est pas constitué par un assemblage plus ou moins heureux de différents éléments. Il a fait l’objet d’une conception globale, unique, homogène.

Deuxièmement, il est défini de façon relativement précise, dans les limites de ce que les mathématiques appliquées au logiciel permettent naturellement; mais, en tout état de cause, il est sensiblement mieux défini que Cobol ou Fortran.

Troisièmement, il repose sur un nombre de concepts et de règles relativement faibles. Cela facilite sa compréhension et son apprentissage.

On pénètre relativement vite dans le monde de Pascal, il n’y a pas à apprendre de nombreuses exceptions.

Son homogénéité permet la construction de compilateurs compacts et, par là même, fiables et efficaces.

01: Espériez-vous que Pascal serait repris par les constructeurs comme il l’a été?

NW: On n’ose jamais trop espérer! Mais je mentirais si je disais que je n’ai jamais eu l’espoir que cela pourrait arriver. Les fabricants d’ordinateurs doivent fabriquer des systèmes d’exploitation, des compilateurs, tout un logiciel de base et, naturellement, ils sont les premiers à saisir un nouvel outil si celui-ci est bon. Non, je ne suis pas très surpris que l’industrie trouve Pascal utile, c’est très satisfaisant, surtout à cette échelle et aussi rapidement.

01: On parle de plus en plus d’une nouvelle version de Pascal développée à l’université de San Diego et qui comprendrait de nombreuses extensions…

NW: Je vous remercie d’aborder ce sujet pour deux raisons. La première, parce que cela me donne l’occasion de souligner que les gens, de façon générale, y compris les universitaires, ne savent pas faire la distinction entre un langage de programmation et son implantation sur tel ou tel ordinateur. Personnellement, je pense que cette distinction est très importante.

Un langage est un ensemble de règles qui permet de réaliser un texte appelé programme et qui donne à ce texte un sens. Un langage et des programmes ont donc une existence en eux-mêmes et leur validité peut-être appréciée en dehors de l’existence même des ordinateurs.

La plupart des gens ne voient pas cela et, lorsqu’ils parlent de Pascal, ils entendent « l’implantation » de Pascal sur tel ou tel ordinateur. L’ennui est qu’ils deviennent ainsi incapables d’apprécier une définition abstraite, et ils ne peuvent évaluer et analyser un programme que si celui-ci tourne sur une machine.

Le projet du DOD

Le second point que je voudrais aborder est celui-ci: on dit que le Pascal de l’UCSD possède d’importantes extensions, et qu’il serait, en quelque sorte, supérieur au Pascal développé ici au Polytechnicum de Zurich. En fait, toutes ces extensions ne sont nullement relatives au langage lui-même mais à son implantation.

Le prétendu Pascal de l’UCSD est un ensemble comprenant une machine, un petit système d’exploitation, un système de gestion de fichiers, un système d’édition, un « debugger ». Je ne dis pas que cela n’est pas nécessaire à une véritable utilisation: je veux simplement souligner la différence qui existe entre quelque chose d’abstrait, le langage, et ses implantations.

01: Le département de la Défense des États-Unis a lancé un programme de création d’un nouveau langage de haut niveau destiné à rationaliser la production du logiciel au sein de cette gigantesque administration. Les propositions retenues s’inspirent largement de Pascal tout en y apportant des modifications sensibles. Quel est votre sentiment sur ce projet?

NW: Le département de la Défense (DOD) est certainement le plus important employeur de programmeurs dans le monde et il a un tel besoin d’investissements en programmation que ses responsables ont compris qu’ils ne pourraient pas continuer indéfiniment avec les outils, les disciplines et les méthodes (ou les absences de méthodes!) utilisés jusqu’alors. Cela me parait très sain d’essayer d’employer d’autres outils et de vouloir former les gens autrement.

Propos recueillis par Marielle Stamm et Philippe Monnin