Development of PASCAL, the first structured programming language

PASCAL – A way out of the software crisis

By the end of the sixties, computers were employed not only for scientific purposes but, to an increasing extent, also for commercial and industrial applications. Larger and more complex new software programs had to be developed for an increasing number of tasks. Literally, the “art of computer programming” became something in high demand and a whole new profession of computer programmers had to be created. By then, the ordinary software developer didn’t know much about the process of writing professional computer programs. Software programming at that time was widely considered an extremely complex task. The resulting low-quality products were exceedingly expensive, difficult to handle and hard to maintain. This unfortunate situation was perceived as a “software crisis”.

Niklaus Wirth has been a professor of computer science at ETH Zürich, Switzerland, since 1968. PASCAL, the new computer language that he developed from 1968-72, became a fundamental contribution to the process of systematic and structured software development. Wirth showed the way out the software crisis. PASCAL turned out to be, both, a new computer language and a novel programming paradigm. It also became an educational tool that motivated systematic and structured ways of thinking. PASCAL is a problem-oriented higher-level computer language. It is charac-terized by its simplicity, its ease of acquisition, and the ability to support structured programming. It supports various problem-oriented data types and, overall, reduces the average time to develop an error-free program. With PASCAL, programming was perceived an engineering rather than an artistic working process. “Software engineering” was coined as a new professional term.

Introducing a new computer language into a university’s curriculum does make students aware of it. PASCAL ‘s widespread acceptance in industry did, however, not come automatically. Rivals in the field included wellestablished languages such as ALGOL and, above all, FORTRAN. Conse-quently, in a foIIow-on project (1972-74), Wirth developed an easily portable PASCAL compiler. It used its own PASCALlanguage elements and produced a platform-independent “meta code”, the famous P-code. Exporting of a PASCAL compiler to another computer platform became as simple as copying a relatively plain P-code interpreter – and that was it: PASCAL programs were executable. Various PASCAL compilers were soon offered by IBM, Univac, DEC, and Siemens, for their own specific computer systems. The final breakthrough occurred at the beginning of the eighties, when personal computers became popular and affordable. These PC’s offer, until today, PASCAL programming environments that are easy to handle and, nevertheless, very powerful.

Niklaus Wirth has, through his landmark invention and distribution of PASCAL, left his marks upon the history of computer science. PASCAL gained full recognition as the classical programming language in scientific education. This is widely attributed to the fact that PASCAL, unlike any other language, demands from the student a very systematic and well-structured programming approach. Wirth actually influenced generations of software developers and, thus, created a totally new software programming technique. His lasting achievements include decades of teaching activities at ETH Zürich and, based on these courses, a series of books that became classics in their field. Finally, the basic concepts of PASCAL had a strong impact on recent developments of new computer languages, especially the set of object-oriented languages.

PASCAL is by far not the only major scientific achievement of Niklaus Wirth, a university professor of more than 30 years. His many contributions to the field of computer science include, among many others, MODULA 2, a logical foIIow-on development of PASCAL. LILITH, a computer architecture proposed by him, is generally considered a preliminary stage of Apple’s MacIntosh and Microsoft Windows. These fundamental contributions to modern information technology are honored by Eduard Rhein Foundation’s Technology Award 2002.

Prof. Dr. Klaus Bender,
Technical University Munich