Pascal
termStands for: Niklaus Wirth's structured programming language of 1970
Niklaus Wirth's imperative, procedural programming language of 1970, designed as a small, efficient language to encourage structured programming and data structuring; the teaching language of the 1980s, displaced by C, and the root of Object Pascal and Delphi.
Pascal is an imperative and procedural programming language designed by Niklaus Wirth and named after Blaise Pascal, the French mathematician, philosopher and physicist. Wirth developed it on the pattern of ALGOL 60: having worked on ALGOL W, he abandoned the ALGOL X standardisation process in 1968, improved ALGOL W further and released the result as Pascal in 1970, a small, efficient language intended to encourage good programming practice through structured programming and data structuring. It became very successful in the 1970s on the minicomputer market, compilers appeared for the microcomputers as that field emerged in the late 1970s, UCSD Pascal among them, and in the 1980s it was widely used as a teaching language in university programming courses and in production for commercial software. It was displaced by C during the late 1980s and early 1990s as Unix systems became popular and especially with the release of C++, and Brian Kernighan's 1981 article 'Why Pascal is Not My Favorite Programming Language' set out the case against it. A derivative, Object Pascal, designed for object-oriented programming in 1985, was used by Apple for the Lisa and Macintosh and by Borland, and grew into Delphi on Windows; Free Pascal and GNU Pascal keep the language alive.
Design. Wirth designed Pascal as a small, efficient language, with static, strong and safe typing and lexical scope, intended to encourage good programming practices through structured programming and data structuring: records, enumerations, subranges, sets and pointers as the vocabulary of data, and the procedure and function as the unit of program. It is named after Blaise Pascal, and its family is the Wirth line that runs from ALGOL W through Pascal to Modula-2 and Oberon. The list of languages it influenced in the encyclopaedia's infobox includes Ada, C#, Go, Java, Modula, Oberon, Object Pascal, Standard ML, VHDL and the structured text of industrial controllers.
Rise. Pascal became very successful in the 1970s, notably on the burgeoning minicomputer market; compilers were also available for many microcomputers as the field emerged in the late 1970s, UCSD Pascal with its portable p-code among them. It was widely used as a teaching language in university-level programming courses in the 1980s and in production settings for writing commercial software in the same period. The major implementations the encyclopaedia lists range from the CDC 6000 and ICL 1900 to the PDP-11, the IBM System/370, VSI Pascal on OpenVMS, Delphi, Free Pascal and GNU Pascal. A generation of engineers, the author included, met structured programming through it.
Decline and critique. Pascal was displaced by the C programming language during the late 1980s and early 1990s as Unix-based systems became popular, and especially with the release of C++. Brian Kernighan, who had popularised C, outlined his criticisms in 1981 in 'Why Pascal is Not My Favorite Programming Language', an article every Pascal programmer eventually read and argued with; the glossary's 'Real Programmers Don't Use Pascal' entry records the folklore side of the same quarrel.
Descendants. A derivative named Object Pascal, designed for object-oriented programming, was developed in 1985; it was used by Apple Computer for the Lisa and Macintosh machines and by Borland in the late 1980s, and later developed into Delphi on the Microsoft Windows platform. Turbo Pascal, Borland's compiler and editor of 1983, has its own entry because it is the form in which most people met the language; Free Pascal and GNU Pascal, the latter having adopted some of the Pascal-SC extensions, continue it as free software. The Borland record on the industry timeline tells how a $49.95 compiler made the language a mass-market product.
Also known as: pascal language, wirth, object pascal, ucsd pascal, free pascal, delphi