In 1958, an international committee met to design a new universal language.
Since IBM owned FORTRAN, it could not become a universal language for all
countries on all machines. The result was ALGOL (ALGOrithmic Language)
58, a more general form of FORTRAN, and the first language designed to
be machine independent. The next revision, ALGOL 60, introduced block structure
and scope, pass-by-value, and pass-by-name. Because ALGOL was designed
to be machine independent, designers did not include and I/O statements.
This made it difficult to port programs. This, combined with the fact that
IBM did not support ALGOL on its machines, due to the popularity of FORTRAN,
kept ALGOL from becoming more popular. Although ALGOL never became widely
used, for the next 20 years it was the major language used for publishing
and communicating algorithms. Most modern imperative languages inherited
many ideas from ALGOL.
ALGOL is historically important to students because it introduced many
new concepts. Any imperative language that was developed after ALGOL
has many features that came, more or less directly, from ALGOL.
Students can about how to design a language by studying ALGOL because
it was both an innovative success and a terrible failure. By studying
ALGOL, hopefully students can gain an understanding of what to do and
what not to do when creating a language. Also, since ALGOL was used
as the only language for publishing algorithms for such an extended
period of time, students should be familiar with ALGOL so that they
will be able to read and understand important papers and publications
from that time.
Source: "Concepts of Programming Languages" by Robert W. Sebesta, The
Benjamin/Cummings Publishing Company, Inc, 1993