Pascal
Niklaus Wirth travaille à l'École Polytechnique Fédérale de Zurich. Une frustration le saisit face aux langages de programmation existants. Ces outils lui semblent incohérents, leurs constructions défient toute explication logique. Pour un esprit habitué au raisonnement systématique, méthodique et ordonné, cette situation est insupportable.
Il conçoit Pascal avec deux ambitions distinctes. Il veut d'abord créer un langage vraiment adapté à l'enseignement, où chaque concept se reflète naturellement dans la syntaxe. Mais il refuse de sacrifier l'efficacité sur l'autel de la pédagogie : ses installations devront tourner de manière fiable sur les machines de l'époque.
L'héritage d'Algol 60 pèse lourd dans cette démarche. Ce langage répond mieux que tout autre aux exigences pédagogiques du moment. Wirth reprend ses principes de structuration et la forme de ses expressions. Pourtant, il résiste à la tentation de faire de Pascal un simple sous-ensemble d'Algol 60, car certains mécanismes de déclaration l'empêcheraient d'intégrer les nouvelles fonctionnalités qu'il a en tête. Ces fonctionnalités concernent principalement les structures de données, dont l'absence dans Algol 60 explique largement pourquoi ce langage est cantonné à un domaine d'application restreint. En introduisant les enregistrements et les fichiers, Wirth espère que Pascal pourra s'attaquer aux problèmes de gestion commerciale, ou du moins servir à les démontrer efficacement dans un cours de programmation.
La première version paraît en 1970, accompagnée d'une installation sur les ordinateurs CDC 6000. Trois années d'utilisation intensive, d'enseignement et d'expérimentation donnent naissance à une version révisée en 1972. Les changements reflètent les leçons apprises sur le terrain : les paramètres constants cèdent la place aux paramètres de valeur, la structure de classe disparaît, la gestion des fichiers se trouve repensée.
La normalisation arrive en 1983 avec le standard ISO 7185, qui définit le Pascal non étendu. Une mise à jour a lieu en 1990, l'année où naît le standard ISO 10206, le Pascal étendu. Cette distinction répond à la tension qui consiste à garder la simplicité du langage original tout en répondant aux besoins grandissants de la programmation moderne.
Le Pascal étendu apporte une séparation entre la modularité et la compilation. Chaque module permet d'exporter des interfaces contenant valeurs, types, schémas, variables, procédures et fonctions. Le système contrôle finement la visibilité, et les chaînes de caractères reçoivent un traitement unifié. Chaînes de longueur fixe, valeurs de caractères et chaînes de longueur variable sont compatibles entre elles. L'opérateur de concaténation les combine librement, tandis que le programmeur spécifie les longueurs maximales des chaînes variables. La liaison de variables constitue une innovation remarquable. Une variable déclarée comme liaison peut se connecter au stockage de fichiers, à l'horloge temps réel ou aux lignes de commande. Cette restriction limite les connexions externes aux seules variables explicitement prévues à cet effet.
L'émergence de la programmation orientée objet pousse certains compilateurs Pascal vers ce nouveau paradigme. En 1993, le comité des standards Pascal publie un rapport technique sur les « Extensions orientées objet de Pascal ». Les membres de ce comité représentent un éventail surprenant d'organisations : de l'université Pace à l'US Air Force, d'Apple Computer à Microsoft et Digital Equipment Corporation.
Pascal marque l'histoire de la programmation par sa syntaxe limpide et sa philosophie du typage fort. Toute une génération de programmeurs découvre à travers lui les principes de la programmation structurée et de la conception rigoureuse. Son usage massif dans l'enseignement durant les années 1970 et 1980 forge des habitudes de programmation disciplinées qui lui survivront longtemps. Le succès commercial accompagne le succès pédagogique, notamment grâce à Turbo Pascal de Borland. Ces versions commerciales enrichissent souvent le langage standard d'extensions pratiques, sans jamais trahir la clarté et la rigueur qui caractérisent l'original.
Le langage Pascal porte l'idée qu'un programme doit être une construction mathématique précise, dont la correction se démontre formellement. Cette vision contraste avec les tendances actuelles qui privilégient la rapidité de développement et la flexibilité, parfois au détriment de la rigueur formelle, et donc parfois de la sécurité. Wirth avait peut-être vu juste : dans un monde où les logiciels gouvernent nos vies, la discipline qu'il prônait n'a jamais été aussi nécessaire.