Recollections about the development of Pascal

  title={Recollections about the development of Pascal},
  author={Niklaus Wirth},
  • N. Wirth
  • Published in HOPL-II 1 March 1993
  • Computer Science
Pascal was defined in 1970 and, after a slow start, became one of the most widely used languages in introductory programming courses. This article first summarises the events leading to Pascal's design and implementation, and then proceeds with a discussion of some of the language's merits and deficiencies. In the last part, developments that followed its release are recounted. Its influence chiefly derived from its being a vehicle for structured programming and a basis for further development… 

Pascal and Its Successors

  • N. Wirth
  • Computer Science
    Software Pioneers
  • 2002
The programming language Pascal was designed in 1969 with a concisely defined syntax representing the paradigm of structured programming and was followed by Modula-2 which catered to the needs of modular programming in teams.

The Development of Procedural Programming Languages: Personal Contributions and Perspectives

This talk summarizes developments and recount some of the influences and events that determined the design and implementation of the Algol-style Pascal, Modula-2, and Oberon languages, and focuses on the procedural branch, directed toward system programming and forming the backbone of engineering and data processing methods and tools.

Modula-2 and Oberon

This is an account of the development of the languages Modula-2 and Oberon, which mirror the essential programming paradigms of the past decades and points out that simplicity of design was the most essential guiding principle.

From Fortran and Algol to object-oriented languages

This chapter provides an overview of FORTRAN and ALGOL, which can now be recognized as the remote ancestors of modern high-level programming languages.

Compiler Construction - The Art of Niklaus Wirth

This paper is not a paper about new compilation techniques but a reflection about Wirth's way to write compilers.

Vector Pascal

Vector Pascal is a language designed to support elegant and efficient expression of algorithms using the SIMD model of computation. It imports into Pascal features derived from the functional

Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers

A taxonomy of languages and environments designed to make programming more accessible to novice programmers of all ages, organized by their primary goal, either to teach programming or to use programming to empower their users.

Automatic construction of optimizing parallelizing compilers from specification

This dissertation suggests that complete compilers can be mechanically derived by processing a set of specifications defining the source language; available analysis, optimization, and parallelization phases; and the relevant attributes of the target computer.

Years of Higher Order Programming Languages

A short overview of last fifty years of computer programming and computer programming languages is given, particularly, programming paradigms are described, their intentions and goals, as well as the most of the significant languages of all paradigm.



An assessment of the programming language pascal

  • N. Wirth
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1975
The programming language Pascal is assessed in the light of `reliable programming' and with the background of five years of experience with the language. Some features are selected to point out

The design of a pascal compiler

  • N. Wirth
  • Computer Science
    Softw. Pract. Exp.
  • 1971
The development of a compiler for the programming language PASCAL1 is described in some detail. Design decisions concerning the layout of program and data, the organization of the compiler including

A contribution to the development of ALGOL

The main changes were: (1) verbal improvements and clarifications, many of which were kindly suggested by recipients of the original draft; (2) additional or altered language features, in particular the replacement of tree structures by records as proposed by the second author.

Standard Pascal User Reference Manual

This book is aimed at students and implementors with merely human powers of understanding, and only a modest capacity for fasting and prayer in the search for the syntax or semantics of a domain-type or variant-selector.

The programming language Concurrent Pascal

  • P. B. Hansen
  • Computer Science
    IEEE Transactions on Software Engineering
  • 1975
The main contribution of Concurrent Pascal is to extend the monitor concept with an explicit hierarchy of access rights to shared data structures that can be stated in the program text and checked by a compiler.

Structured programming

The first monograph has suggested that in analysing a problem and groping towards a solution, a programmer should take advantage of abstract concepts such as sets, sequences, and mappings; and judiciously postpone decisions on representation until he is constructing the more detailed code of the program.

A pascal compiler for PDP 11 minicomputers

The development of a cross‐compiler running on the central computing facility is described and it is shown that only a minor effort in terms of manpower is required if such a development is based on an existing compiler that is suited to the purpose of adaptation.

Pascal User Manual and Report

This manual is directed to those who have previously acquired some programming skill and is based on The Programming Language Pascal (Revised Report)--the basic definition of Pascal and concise reference manual for the experienced Pascal programmer.

An overview of Ada

  • J. Barnes
  • Computer Science
    Softw. Pract. Exp.
  • 1980
The body of the paper is an informal description of the main features of the final language as revised after the Test and Evaluation phase of the DoD project.

Program development by stepwise refinement

The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming.