Pascal
Niklaus Wirth works at the Swiss Federal Institute of Technology in Zurich. A frustration seizes him when faced with existing programming languages. These tools seem incoherent to him, their constructs defy all logical explanation. For a mind accustomed to systematic, methodical, and orderly reasoning, this situation is unbearable.
He designs Pascal with two distinct ambitions. He first wants to create a language truly suited to teaching, where each concept is naturally reflected in the syntax. But he refuses to sacrifice efficiency for the sake of pedagogy: his implementations must run reliably on the machines of the era.
The legacy of Algol 60 weighs heavily in this approach. This language meets pedagogical requirements better than any other at the time. Wirth adopts its structuring principles and the form of its expressions. Yet he resists the temptation to make Pascal a simple subset of Algol 60, because certain declaration mechanisms would prevent him from integrating the new features he has in mind. These features primarily concern data structures, whose absence in Algol 60 largely explains why that language is confined to a restricted application domain. By introducing records and files, Wirth hopes that Pascal can tackle commercial management problems, or at least serve to demonstrate them effectively in a programming course.
The first version appears in 1970, accompanied by an implementation on CDC 6000 computers. Three years of intensive use, teaching, and experimentation give birth to a revised version in 1972. The changes reflect lessons learned in the field: constant parameters give way to value parameters, the class structure disappears, file handling is rethought.
Standardization arrives in 1983 with the ISO 7185 standard, which defines unextended Pascal. An update occurs in 1990, the year extended Pascal standard ISO 10206 is born. This distinction addresses the tension between maintaining the simplicity of the original language while meeting the growing needs of modern programming.
Extended Pascal brings a separation between modularity and compilation. Each module allows the export of interfaces containing values, types, schemas, variables, procedures, and functions. The system finely controls visibility, and character strings receive unified treatment. Fixed-length strings, character values, and variable-length strings are compatible with each other. The concatenation operator combines them freely, while the programmer specifies the maximum lengths of variable strings. Variable binding constitutes a remarkable innovation. A variable declared as a binding can connect to file storage, the real-time clock, or command lines. This restriction limits external connections to only those variables explicitly intended for this purpose.
The emergence of object-oriented programming pushes certain Pascal compilers toward this new paradigm. In 1993, the Pascal standards committee publishes a technical report on “Object-Oriented Extensions to Pascal”. The members of this committee represent a surprising range of organizations: from Pace University to the US Air Force, from Apple Computer to Microsoft and Digital Equipment Corporation.
Pascal marks the history of programming through its clear syntax and strong typing philosophy. An entire generation of programmers discovers through it the principles of structured programming and rigorous design. Its massive use in teaching during the 1970s and 1980s forges disciplined programming habits that will long outlive it. Commercial success accompanies pedagogical success, notably thanks to Borland’s Turbo Pascal. These commercial versions often enrich the standard language with practical extensions, never betraying the clarity and rigor that characterize the original.
The Pascal language embodies the idea that a program must be a precise mathematical construct, whose correctness can be formally proven. This vision contrasts with current trends that favor development speed and flexibility, sometimes at the expense of formal rigor, and therefore sometimes of security. Wirth may have been right: in a world where software governs our lives, the discipline he advocated has never been more necessary.