Forgot your password?  

Not What You Meant?  There are 22 definitions for RTL.

Algol 68

Print-Friendly   Order the PDF version   Order the RTF version
About 2 pages (729 words)
ALGOL 68 Summary

Bookmark and Share  

Algol 68

ALGOL 68 is a singular artifact in the history of programming languages. It has been associated with a very unruly bureaucratic committee, widespread discord and criticism in the programming language community, resignations and personal attacks and accusations coming from its creators against one another, other kinds of politicking in its wake, "unreadable" supporting documentation, and the like. Although ALGOL 68 has had an unfortunate reputation in people's minds due to such associations, it is still a worthy successor to ALGOL 60, and a very important programming language in its own right.

ALGOL 68 is a language that grew out of the experiences of its predecessors in the ALGOL family, and like them, is named in part for the year of its creation, 1968. Although no longer used in practice, it is a source of (then) new ideas and ways of doing things. (Some of these were, and continue to be, very controversial within the programming language community.) The ALGOL 68 language design effort is also studied by contemporary groups seeking to design new programming languages, to learn from that effort's successes and also from its failures.

ALGOL 68 was first proposed in a document, called the ALGOL 68 Report, which came out in January 1969 (there have also been translations into German, Russian, French, and Mandarin). The Report created a big stir in the computer science community--one author, writing in 1974, gave voice to the opinion of many when he said, "The ALGOL 68 Report is one of the most unreadable documents which has ever been printed." One reason for this complaint was that the Report was extremely formal, using a very sophisticated mathematical metalanguage to deliver its content. One closely related accusation that some readers of the Report made was also that it invented strange new words and technical terms--such as bus token, invisible production tree, primal environ, incestuous union, notion, protonotion, metanotion, hypernotion, paranotion, transput, etc.--in place of using common, easy-to-understand ones.

However, perhaps the single most important reason for the Report's apparent obscurity was its use of a completely new kind of formal grammar to define the ALGOL 68 programming language. Instead of the familiar and widespread Backus-Naur Form (BNF), it used a new-fangled grammar, usually called a vW-grammar in honor of its Dutch inventor, Aad van Wijngaarden (then the Director of the Mathematical Centre in Amsterdam, the Netherlands). The vW-grammar is a context-sensitive two-level grammar rather than context-free (as BNF is). For readers of the Report who were used to BNF and context-free grammars, the new grammar and style took some getting used to. The Report was finally revised by Wijngaarden and his colleagues, and the Revised Report, far more easy to understand, appeared as Acta Informatica 5, 1975--however, it was too late to save the reputation of ALGOL 68, which had become firmly fixed in people's minds as a language with an unreadable specification.

There were good reasons for the new choice, though it was widely condemned—it allowed not only the syntax, but also that part of the semantics having to do with declarations, to be defined by the grammar. This meant, for example, that the grammar automatically imposed the restriction that variables could not be used without definition, could not be defined twice or more, and could not be used inconsistently with their definition. With a BNF grammar, these caveats would have had to be added as footnotes or other special comments in English--there is no way for such a grammar itself to incorporate these restrictions. Consequently, the chosen vW-grammar provided a better and more complete formal definition of the language, though it came at a very high cost in terms of complexity.

ALGOL 68 was the first, and still one of the very few, programming languages for which a complete formal specification was created before its implementation--in most cases, only a partial specification exists, and a full, rigorous specification is only created, if at all, after the language has evolved considerably since initial implementation. The two-level formal specification of ALGOL 68 was also significant, in spite of its stormy history, as an early precursor of logic programming languages such as Prolog.

One of the singular features of ALGOL 68 was its "orthogonal" design, making for freedom from arbitrary rules (such as restrictions in other languages that arrays could only be used as parameters but not as results). It also allowed for user-defined data-types, then an unheard-of feature.

This is the complete article, containing 729 words (approx. 2 pages at 300 words per page).

More Information
  • View Algol 68 Study Pack
  • 22 Alternative Definitions
  • Search Results for "Algol 68"
  • Add This to Your Bibliography
  • More Products on This Subject
    ALGOL 68
    ALGOL 68 (short for ALGOrithmic Language 1968) is an imperative computer programming language that w... more


    Ask any question on ALGOL 68 and get it answered FAST!
    Answer questions in BookRags Q&A and earn points toward
    discounted or even FREE Study Guides and other BookRags products!
    Learn more about BookRags Q&A
    Copyrights
    Algol 68 from World of Computer Science. ©2005-2006 Thomson Gale, a part of the Thomson Corporation. All rights reserved.

    Join BookRagslearn moreJoin BookRags