Partea II: Programare în Pascal [Programming in Pascal] — Polytechnic Institute of Bucharest, 1983
This volume continues the course “Limbaje și compilatoare” [Programming Languages and Compilers] (Software specialization) and presents the Pascal programming language. My students already knew FORTRAN from their first year. Pascal was therefore, for them, the second high-level programming language. Later, Pascal itself was introduced in the first year instead of FORTRAN, so the textbook could also serve first-year students.
The series continued with Part III–IV: Formal Systems and Compiler Design. The material was later consolidated in the synthesis volume Programming Languages and Compilers (1987).
“Introduction” (2-page PDF). Here I state the rationale for choosing Pascal as an instrument for disciplining programming, the intended readership of the textbook, and the level of formalism that I considered suitable for accessibility.
In the “Introduction” I begin from the fact that the appearance of Pascal (1970) was perceived as a major event: a proposed language that combined simplicity with rigor and pushed programming toward a systematic discipline. At the time, Pascal was also seen as an efficient tool for large programs, provided that the language led to reliable and efficient implementations on the computers then available.
The textbook was intended primarily for students (first and fourth year in Control Engineering), within the courses “Computer Programming” and “Programming Languages and Compilers.” This required it to be introductory enough for beginners, but also solid enough for those using it as a step toward more advanced topics (modeling, translation, compilation).
I state explicitly what I chose not to do: I removed extended comparisons with other languages (even if they might have outlined Pascal’s specificity more clearly), precisely in order not to overload the text; I avoided an overly sophisticated introduction of concepts and marginal theoretical developments that would have required serious prior knowledge of theoretical programming. Instead, I aimed at a correct, modern, and usable picture of high-level language programming.
I take the “Pascal Report” (the standard/reference description of the language) as the main point of reference and state the practical rule: where the implementations in use differed significantly from the report, the differences were mentioned briefly. This decision has two effects: it keeps the textbook anchored in a stable definition and, at the same time, makes it usable on real machines, with their inevitable deviations.
The Pascal textbook is not isolated: it functions as an applied step within the series “Programming Languages and Compilers.” Part I establishes the general vocabulary (information systems, communication, the anatomy of languages), while Part II provides a common ground of practice and programming discipline, useful both for initiation and for preparation for the translation and compilation topics treated in the second part of the course.