pascal
n 1: a unit of pressure equal to one newton per square meter
[syn: {Pa}]
2: French mathematician and philosopher and Jansenist; invented
an adding machine; contributed (with Fermat) to the theory
of probability (1623-1662) [syn: {Blaise Pascal}]
3: a programing language designed to teach programming through
a top-down modular approach
Source: WordNet® 2.0
Pascal n. An Algol-descended language designed by Niklaus Wirth on the
CDC 6600 around 1967-68 as an instructional tool for elementary
programming. This language, designed primarily to keep students from
shooting themselves in the foot and thus extremely restrictive from a
general-purpose-programming point of view, was later promoted as a
general-purpose tool and, in fact, became the ancestor of a large family
of languages including Modula-2 and {{Ada}} (see also
{bondage-and-discipline language}). The hackish point of view on Pascal
was probably best summed up by a devastating (and, in its deadpan way,
screamingly funny) 1981 paper by Brian Kernighan (of {K&R} fame)
entitled "Why Pascal is Not My Favorite Programming Language", which was
turned down by the technical journals but circulated widely via
photocopies. It was eventually published in "Comparing and Assessing
Programming Languages", edited by Alan Feuer and Narain Gehani
(Prentice-Hall, 1984). Part of his discussion is worth repeating here,
because its criticisms are still apposite to Pascal itself after many
years of improvement and could also stand as an indictment of many other
bondage-and-discipline languages. (The entire essay is available at
`http://www.lysator.liu.se/c/bwk-on-pascal.html'.) At the end of a
summary of the case against Pascal, Kernighan wrote:
9. There is no escape
This last point is perhaps the most important. The language is
inadequate but circumscribed, because there is no way to escape its
limitations. There are no casts to disable the type-checking when
necessary. There is no way to replace the defective run-time
environment with a sensible one, unless one controls the compiler
that defines the "standard procedures". The language is closed.
People who use Pascal for serious programming fall into a fatal
trap. Because the language is impotent, it must be extended. But
each group extends Pascal in its own direction, to make it look
like whatever language they really want. Extensions for separate
compilation, FORTRAN-like COMMON, string data types, internal
static variables, initialization, octal numbers, bit operators,
etc., all add to the utility of the language for one group but
destroy its portability to others.
I feel that it is a mistake to use Pascal for anything much beyond
its original target. In its pure form, Pascal is a toy language,
suitable for teaching but not for real programming.
Pascal has since been entirely displaced (mainly by {C}) from the
niches it had acquired in serious applications and systems programming,
and from its role as a teaching language by Java.
Source: The Jargon File