skip to main content
10.1145/234286.1057812acmotherbooksArticle/Chapter ViewAbstractPublication PagesBookacm-pubtype
chapter
Free access

Recollections about the development of Pascal

Published: 01 January 1996 Publication History

Abstract

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 summarizes 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 of languages and for experiments in program verification.

References

[1]
{Ammann, 1974} Ammann, U., The Method of Structured Programming Applied to the Development of a Compiler, in International Computing Symposium 1973, Amsterdam: North-Holland, 1974, pp. 93--99.]]
[2]
{Ammann, 1977} Ammann, U., On Code Generation in a Pascal Compiler, Software---Practice and Experience, Vol. 7, 1977, pp. 391--423.]]
[3]
{Barnes, 1980} Barnes, An Overwiew of Ada, Software---Practice and Experience, Vol. 10, 1980, pp. 851--887.]]
[4]
{Bowles, 1980} Bowles, K. L., Problem Solving Using Pascal. Springer-Verlag, 1977.]]
[5]
{Brinch Hansen, 1975} Brinch Hansen, P., The Programming Language Concurrent Pascal, IEEE Transactions on Software Engineering, Vol. 1, No. 2, 1975, pp. 199--207.]]
[6]
{Bron, 1976} Bron, C., and W. de Vries, A Pascal Compiler for the PDP-11 Minicomputers, Software---Practice and Experience, Vol. 6, 1976, pp. 109--116.]]
[7]
{Clark, 1982} Clark, R., and S. Koehler, The UCSD Pascal Handbook, Englewood Cliffs, NJ: Prentice-Hall, 1982.]]
[8]
{Cooper, 1983} Cooper, D., Standard Pascal, User Reference Manual, Norton, 1983.]]
[9]
{Dijkstra, 1966} Dijkstra, E. W., Structured Programming, Technical Report, University of Eindhoven, 1966. Also in Dahl, O.-J. et al,. Structured Programming, London: Academic Press, 1972.]]
[10]
{Grosse-Lindemann, 1976} Grosse-Lindemann, C. O., and H. H. Nagel, Postlude to a Pascal-Compiler Bootstrap on a DECSystem-10, Software---Practice and Experience, Vol. 6, 1976, pp. 29--42.]]
[11]
{Habermann, 1973} Habermann, A. N., Critical Comments on the Programming Language Pascal, Acta Informatica Vol. 3, 1973, pp. 47--57.]]
[12]
{Hoare, 1972} Hoare, C. A. R., Notes on Data Structuring, in Dahl, O.-J. et al., Structured Programming, London: Academic Press, 1972.]]
[13]
{Hoare, 1973} Hoare, C. A. R. and N. Wirth, An Axiomatic Definition of the Programming Language Pascal, Acta Informatica, Vol. 2, 1973, pp. 335--355.]]
[14]
{Hoare, 1980} Hoare, C. A. R., The Emperor's Old Clothes. Communications of the ACM, Vol. 24, No. 2, Feb. 1980, pp. 75--83.]]
[15]
{ISO, 1983} International Organization for Standardization, Specification for Computer Programming Language Pascal, ISO 7185, 1982.]]
[16]
{Jensen, 1974} Jensen, K., and N. Wirth, Pascal---User Manual and Report, Springer-Verlag, 1974.]]
[17]
{Jensen, 1991} Jensen, K., and N. Wirth, revised by A. B. Mickel and J. F. Miner. Pascal---User Manual and Report, ISO Pascal Standard, Springer-Verlag, 1991.]]
[18]
{Lecarme, 1975} Lecarme, O., and P. Desjardins, More Comments on the Programming Language Pascal, Acta Informatica, Vol. 4, 1975, pp. 231--243.]]
[19]
{Ledgard, 1984} Ledgard, H., The American Pascal Standard, Springer-Verlag, 1984.]]
[20]
{London, 1978} London, R. L., J. V. Guttag, J. J. Horning, B. W. Lampson, J. G. Mitchell, and G. J. Popek, Proof Rules for the Programming Language Euclid, Acta Informatica, Vol. 10, 1978, pp. 1--26.]]
[21]
{Marmier, 1975} Marmier, E., Automatic Verification of Pascal Programs, ETH Dissertation No. 5629, Zurich, 1975.]]
[22]
{Mitchell, 1978} Mitchell, J. G., W. Maybury, R. Sweet, Mesa Language Manual, Xerox PARC Report CSL-78-1, 1978.]]
[23]
{Naur, 1963} Naur, P., Ed., Revised Report on the Algorithmic Language ALGOL 60, Communications of the ACM, Vol. 3, 1960, pp. 299--316; Communications of the ACM, Vol. 6, 1963, pp. 1--17.]]
[24]
{Nori, 1981} Nori, K. V. et al., The Pascal P-code Compiler: Implementation Notes, in Pascal---The Language and Its Implementation. D. W. Barron, ed., New York: John Wiley & Sons, 1981.]]
[25]
{Tesler, 1985} Tesler, L., Object Pascal Report,. Structured Programming (formerly Structured Language World), Vol. 9, No. 3, 1985, pp. 10--14.]]
[26]
{van Wijngaarden, 1969} van Wijngaarden, A., Ed., Report on the Algorithmic Language ALGOL 68, Numer. Math. Vol. 14, 1969, pp. 79--218.]]
[27]
{Welsh, 1972} Welsh, J., and C. Quinn, A Pascal Compiler for ICL 1900 Series Computers, Software---Practice and Experience, Vol. 2, 1972, pp. 73--77.]]
[28]
{Welsh, 1977} Welsh, J., W. J. Sneeringer, and C. A. R. Hoare, Ambiguities and Insecurities in Pascal, Software---Practice and Experience, Vol. 7, 1977, pp. 685--696. Also in D. W. Barron, Ed., Pascal---The Language and its Implementation, New York: John Wiley & Sons, 1981.]]
[29]
{Welsh, 1984} Welsh, J., and D. Bustard, Sequential Program Structures, Englewood Cliffs, NJ: Prentice-Hall, 1984.]]
[30]
{Welsh, 1986} Welsh, J., and A. Hay, A Model Implementation of Standard Pascal. Englewood Cliffs, NJ: Prentice-Hall, 1986.]]
[31]
{Wichmann, 1983} Wichmann, B., and Ciechanowicz, Pascal Compiler Validation, New York: John Wiley & Sons, 1983.]]
[32]
{Wirth, 1966} Wirth, N. and C. A. R. Hoare, A Contribution to the Development of ALGOL, Communications of the ACM, Vol. 9, No. 6, June 1966, pp. 413--432.]]
[33]
{Wirth, 1970} Wirth, N., The Programming Language Pascal, Techical Report 1, Fachgruppe Computer-Wissenschaften, ETH, Nov. 1970; Acta Informatica, Vol. 1, 1971, pp. 35--63.]]
[34]
{Wirth, 1971a} Wirth, N., Program Development by Step-wise Refinement, Commnications of the ACM, Vol. 14, No. 4, Apr. 1977, pp. 221--227.]]
[35]
{Wirth, 1971b} Wirth, N., The Design of a Pascal Compiler, Software---Practice and Experience, Vol. 1, 1971, pp. 309--333.]]
[36]
{Wirth, 1975} Wirth, N. An assessment of the programming language Pascal. IEEE Transactions on Software Engineering, Vol. 1, No. 2, June 1975, pp. 192--198.]]
[37]
{Wirth, 1981} Wirth, N., Pascal-S: A Subset and its Implementation, in Pascal---The Language and its Implementation, D. W. Barron, Ed., New York: John Wiley & Sons, 1981.]]
[38]
{Wirth, 1982} Wirth, N., Programming in Modula-2, Springer-Verlag, 1982.]]
[39]
{Wirth, 1988} Wirth, N., The Programming Language Oberon, Software---Practice and Experience, Vol. 18, No. 7, July 1988, pp. 671--690.]]

Cited By

View all
  • (2020)Teaching Abstraction in Computer Science to 7th Grade StudentsACM Transactions on Computing Education10.1145/337214320:1(1-37)Online publication date: 27-Jan-2020
  • (2019)Understanding the Knowledge Gaps of Software EngineersACM Transactions on Computing Education10.1145/336049720:1(1-33)Online publication date: 13-Nov-2019
  • (2019)An Operational Characterization of Mutual Information in Algorithmic Information TheoryJournal of the ACM10.1145/335686766:5(1-42)Online publication date: 19-Sep-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other Books
History of programming languages---II
January 1996
880 pages
ISBN:0201895021
DOI:10.1145/234286

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 1996

Permissions

Request permissions for this article.

Qualifiers

  • Chapter

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)293
  • Downloads (Last 6 weeks)25
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Teaching Abstraction in Computer Science to 7th Grade StudentsACM Transactions on Computing Education10.1145/337214320:1(1-37)Online publication date: 27-Jan-2020
  • (2019)Understanding the Knowledge Gaps of Software EngineersACM Transactions on Computing Education10.1145/336049720:1(1-33)Online publication date: 13-Nov-2019
  • (2019)An Operational Characterization of Mutual Information in Algorithmic Information TheoryJournal of the ACM10.1145/335686766:5(1-42)Online publication date: 19-Sep-2019
  • (2019)Reusing Bugged Source Code to Support Novice Programmers in Debugging TasksACM Transactions on Computing Education10.1145/335561620:1(1-24)Online publication date: 22-Nov-2019
  • (2019)Online Bipartite Matching with Amortized O(log 2 n) ReplacementsJournal of the ACM10.1145/334499966:5(1-23)Online publication date: 19-Sep-2019
  • (2019)Index Reduction for Differential-algebraic Equations with Mixed MatricesJournal of the ACM10.1145/334149966:5(1-34)Online publication date: 20-Jul-2019
  • (2019)White-Box vs. Black-Box Complexity of Search ProblemsJournal of the ACM10.1145/334110666:5(1-28)Online publication date: 23-Jul-2019
  • (2019)On the Parameterized Complexity of Approximating Dominating SetJournal of the ACM10.1145/332511666:5(1-38)Online publication date: 12-Aug-2019
  • (2018)Resurgence of Informatics Education in SchoolsAdventures Between Lower Bounds and Higher Altitudes10.1007/978-3-319-98355-4_30(522-537)Online publication date: 9-Aug-2018
  • (2016)Closing the Barn DoorProceedings of the 21st Western Canadian Conference on Computing Education10.1145/2910925.2910938(1-15)Online publication date: 6-May-2016
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media