Name: Anthony Leach Group: 2 Topic



Download 22.58 Kb.
Date28.01.2017
Size22.58 Kb.
#9050
Name: Anthony Leach

Group: 2

Topic: ALGOL 60

The imperative language ALGOL is the product of an International Committee made up of Americans and Europeans that met during the spring of 1958 in Zurich where they agreed on the features of the new language. One of the goals of the ALGOL language was that it should serve as universal and convenient programming tool, not only for professional programmers, but also for engineers and scientists who wish to use modern machines in their work. The ALGOL language is, based on normal mathematical notation, which has been widely used for the publication of the details of computational processes, in the form of algorithms.


The first version of ALGOL was published in 1960 and was named ALGOL 58, which symbolized the year the ALGOL project commenced. ALGOL 58 had inherited some of FORTRAN’s features that were generalized in ALGOL 58. ALGOL 58 did not only generalize Fortran 1’s key features but also significantly improved on them [3, p56]. Identifiers in ALGOL 58 were allowed to have any length whereas in Fortran 1 they were restricted to a maximum of six characters. In addition, the concept of data types was formalized, arrays were allowed to have any number of subscripts, parameters were separated by mode of input and output, subscripts were placed in brackets, compound statements were enhanced, semicolon as a statement separator, and the if statement was given and else if clause [3, p51].
These features of ALGOL have made the language very different from all the other languages within that period. As a resulted, many FORTRAN programmers found the new concepts of ALGOL were significantly different from FORTRAN and therefore, contributed to their difficulties with the language (Randell and Russell). ALGOL eliminates the tedious painstaking ways of writing programs during the late 1950s by the translation of programs into machine language [3, p54]. Although, the language was intended to be simple, readable, and writable many users found the concepts of the language to be ambiguous, which also contributed to its lacks of popularity within the United States.
ALGOL shared a parallel to a Hollywood big budget movie that failed at the box office. The language was advertised to become the first universal language for communicating algorithms; IBM initially was thrilled about the possibilities of ALGOL, but shortly after IBM withdrew from the project, finding that the cost of training users and with the difficulties of learning the new language did not warrant the expenses when they have a wealth of experience in FORTRAN [3, p58]. Another setback for ALGOL was the lack of input and output features. These concerns immediately organized a second meeting that was held in Paris in 1960.

The second meeting was lead by Peter Naur of Denmark where ALGOL 60 emerged. The new version of ALGOL used the Backus-Naur-Form (BNF) that defined the language syntax. The BNF was implemented to eliminate the ambiguities with the language rules of ALGOL 58. ALGOL 60 offered some innovative features that shaped and revolutionized the ways in which later languages were designed. Several new ideas were introduced in ALGOL 60 as listed: block structure, the methods parameter passing by value and by name, subprogram recursion, and stack-dynamic arrays. However I/O still was not addressed in ALGOL 60. But the language supported a limited number of variables: real numbers, integers, switch and Boolean. ALGOL 60 is strongly typed language, which checks its variable types at compilation time [1, p173].


Many programmers found the language to be unclear especially with parameter passing. However, the language provided an outstanding aspect that was incorporated into modern programming languages such as block structure programming makes programs more organized and readable. Programs were now capable of being read from top to bottom like a book instead of the “GOTO statements” that jump from one section to another. Overall, ALGOL is considered to be perhaps the most orthogonal programming language, meaning it has a relatively small number of basic constructs and a wide set of rules for combining those constructs. Every construct has a type associated with it and there are no restrictions on those types. In addition, most constructs produce values. There were other structured and conditional-programming elements that were included in the language such as if-then-else, while, until, and for statements.
Finally, this is not to say that ALGOL 60 is the final word in the definition of a machine independent language for arithmetic processes. On the contrary, just as ALGOL60 had benefited from experience on earlier algebraic languages, many later languages have profited from the great amount of work on the design and implementation of ALGOL 60. These languages are ALGOL 68, ALGOL W, PL/1, SIMULA 67, C, Pascal, ADA, C++, COBOL, and Java.
An Example of an ALGOL 60 Program from Introduction to ALGOL



Language Ratings


Attributes

ALGOL 60

Abstraction

5

Binding

8

Clarity of Code

9

Conditionals

9

Functions

7

Input/Output

0

Integer Representation

9

Libraries

10

Object Oriented

0

Orthogonal

7

Pointers

0

Powerful

7

Procedures

9

Recursion

7

Simple Syntax

10

Strongly Typed

9

Structured

10

Reliability

8

Type of Computing

Math/Science/Engineering



Work Cited

1. Baumann, Feliciano, Bauer and Samelson Introduction to ALGOL Prentice Hall NJ

1964
2. B. Randell and L.J. Russell ALGOL 60 Implementation Academic Press NY 1964

3. Robert W. Sebesta Concepts of Programming Languages Addison Wesley OR 2004







Download 22.58 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page