|
In 1978, Kernighan and Ritchie published their book documenting an obscure systems programming language from ten years earlier, called C. With its obscurity, level of difficulty (to produce code that actually did what was intended) and capability to hack Unix systems, this kludge of a language had great geek appeal. A descendent of BCPL, this primitive language was also easy to port to various platforms. This lead to its widespread adoption and competition with Pascal, the leading programming language of the day. With the 1989 decision of Microsoft to withdraw its Pascal products (which were unable to compete with that of Borland) and to concentrate on C, all the stars were aligned for the ascendancy of C and the beginning of the dark ages of computer programming. However, in recent times, there has been a growing appreciation of the benefits of true high level languages over low/intermediate level ones, in terms of code safety, productivity and maintainability. This has seen a move away from C and a proliferation of alternatives seeking to overcome its shortcomings. Yet Pascal remains a viable such alternative, combining a disciplined approach to program development and, unlike some other alternatives, an emphasis on efficiency. There have been a great many implementations of Pascal over the years, which can be divided into the following dialects : "Standard" or "Classic" Pascal, as defined by the 1974
User Manual and Report by Jensen and Wirth, and later in 1983, the ISO-7185 standard. Excepting
some minor omissions in certain implementations, this is the foundation of all Pascal dialects,
including just the common essentials of the language, with the expectation that implementations
would provide any extensions as may be required or desired.
The UCSD/Borland dialect, which includes many extensions
to the language, such as Units for modular programming. This is probably the most widely
implemented Pascal dialect.
The "Extended" Pascal standard. Following the publication
of ISO-7185, work began on standardising the extensions to the Pascal language, culminating
in the publication of ISO-10206 in 1990/1991. However, contrary to expectations, instead of
including those extensions that were already widely implemented, the standards committees
involved chose to start with a clean slate. So it is that unfortunately, the language extensions
of the UCSD/Borland and the ISO-10206 dialects are quite different and hence incompatible.
OTOH, the ISO-10206 "Extended" Pascal standard vastly extends the language, and appears to be
intended as a rival to the Ada programming language.
|
|