BookRags.com Literature Guides Literature
Guides
Criticism & Essays Criticism &
Essays
Questions & Answers Questions &
Answers
Lesson Plans Lesson
Plans
My Bibliography Periodic Table U.S. Presidents Shakespeare Sonnet Shake-Up
Research Anything:        
History | Encyclopedias | Films | News | Create a Bibliography | More... Login | Register | Help

Not What You Meant?  There are 7 definitions for Algol.  Also try: IAL.

Algol-60 Report

Print-Friendly  Order the PDF version  Order the RTF version
About 3 pages (896 words)
ALGOL Summary

Bookmark and Share Questions on this topic? Just ask!

Algol-60 Report

The Algol-60 report was written between 1959 and 1960 by a team of programming language experts consisting of editor Peter Naur and several educators and practitioners from Europe and the United States. The purpose of the report was to develop a complete description of an international algorithmic language for expressing numerical processes in a form suitable for translation into computer programming languages. It was not intended to be a programming language, although it was subsequently implemented as a language and became popular in Europe.

Many versions of the Algol programming language were implemented in the 1960s and early 1970s. It also led to the development of several other programming languages, such as Pascal, implemented by Niklaus Wirth in the early 1970s, and C.

The report introduced the notions of a reference language, a publication language, and a hardware representation. The reference language was the standard for the report, compiler writers, and hardware implementation. It dictated the form of the language and its syntax. The publication language used the reference language with minor adjustments for publication variations across countries and printing and writing variations such as the handling of subscripts, superscripts, and other notation. The hardware representation took into consideration the characteristics of the machine. The reference language was the defining language, and the publication language and hardware representation had to be translatable into it.

The purpose of the report and the language was to give an unambiguous representation to various computer concepts—in particular, algorithm design, or ALGOrithmic Language 1960. A subsequent version, Algol68, was not as popular or widely implemented as Algol-60, although it was more powerful.

Algol is a structured language, incorporating while statements, if-then-else-statements, and other constructs that implement selection, iteration, basic statements, block structure, and recursion. Although it was developed only a few years after FORTRAN (FORmula TRANslator), released in 1957 by IBM, it incorporated features missing from FORTRAN—namely the recursion and the structured language—and was a major advance in the programming arena.

Thomas Kurtz (pictured here) and John Kemeny worked to simplify computer language so that college students could learn it quickly. The result was BASIC, which became popular worldwide.Thomas Kurtz (pictured here) and John Kemeny worked to simplify computer language so that college students could learn it quickly. The result was BASIC, which became popular worldwide.

One of the descendants of Algol and FORTRAN was BASIC (Beginner's All-purpose Symbolic Instruction Code) language, developed by John Kemeny and Thomas Kurtz of Dartmouth University. BASIC was a sort of format-statement-free version of FORTRAN for interactive and beginning computing. BASIC enjoyed a long reign from the 1970s to the 1980s and has recently been implemented in a quite different form, Visual Basic.

A descendent of Algol was Pascal, which also enjoyed a long reign as a popular language for implementing data structures and studying compilers. It was not a production language, but a teaching tool. C was a system's language and led to the development of C, an object-oriented language that is still popular.

The Algol language was described in a notation called Backus normal or Backus-Naur form (BNF). The notation was suggested by John Backus, who based it on a notation by E. L. Post, a famous logician in the 1930s. It was similar to the notation developed by Noam Chomsky in 1957 for linguistics, which was used to implement grammars. A grammar is a succinct, unambiguous way of describing languages. The use of a formal notation in language theory was a major advance.

The evolution of programming languages was striking, but not as stunning as the evolution of compiler theory. Shortly after the Algol-60 report, several compiler theorists used the grammar notation to implement compilers in an "automatic" fashion. These compilers were known as compiler-compilers. Similar efforts were the development of Lex, a lexical analyzer, and Yacc ("Yet another compiler-compiler") at Bell Laboratories in the mid-1970s.

Understanding Programming Language

English grammar has certain constructs, such as a noun phrase, which is composed of other constructs, such as a noun and a modifier. Programming languages have constructs such as while-statements, and arithmetic expressions. These constructs are indicated by special symbols called the nonterminal or meta symbols of the language.

The symbols that actually appear in the language are called terminal symbols. The terminology comes from the data structures, or parse trees, used to implement the language.

An example is:

This grammar indicates that an arithmetic expression, E, consists of other arithmetic expressions and terms, T, added together (E-->E T). A term, T, is composed of a term times a factor, F, so that T-->T*F. Finally,a factor, F, is the most basic expression, consisting of parenthesized expressions (the parenthesized E), identifiers (user-defined identifier or variables), id, and numeric constants (num). The grammar gives the form of the arithmetic expressions.

The example gives a flavor of the notation. The items on the left of the arrow are composed of the items on the right. In this case, the E, T, and F are the meta-symbols. The other symbols,, *, (, ), and, in this case, id and num, appear in the language. They are the words of the language. In this case, E is the start symbol or first non-terminal symbol. It is the most general expression being defined. Although the notation may seem awkward at first, it is useful in language design, compiler theory, and implementation.

The development of grammars in computer science gave a great impetus to programming language design and implementation.

Algorithms; Procedural Languages; Programming.

Bibliography

Naur, Peter, ed. "Revised Report on the Algorithmic Language Algol-60." Communications ACM 6, no. 1 (1963): 1–17.

Wexelblat, Richard L., ed. History of Programming Languages. New York: Academic Press, 1981.

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

More Information
  • View Algol-60 Report Study Pack
  • 7 Alternative Definitions
  • Search Results for "Algol-60 Report"
  • Add This to Your Bibliography
  • More Products on This Subject
    Algol
    High-level algebraic computer programming language developed in the late 1950s as an international ... more

    Algol 60
    ALGOL 60 was the first programming language to be designed completely from the bottom-up by compute... more


     
    Ask any question on ALGOL 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-60 Report from Macmillan Science Library: Computer Sciences. Copyright © 2001-2006 by Macmillan Reference USA, an imprint of the Gale Group. All rights reserved.

    Join BookRagslearn moreJoin BookRags




    About BookRags | Customer Service | Report an Error | Terms of Use | Privacy Policy