ALGOL: The language that influenced the future

Website Developer
4 min readOct 26, 2020

--

https://opensource.com/article/20/6/algol68

ALGOL, short for Algorithmic Language, is a family of languages going back to 1958. Generally called ALGOL 60, ALGOL had three major updates and were named after the year they were updated. ALGOL 58 was originally created to solve some of the problems of other coding languages.It was one of the first languages to introduce blocks (of code) and nested functions. It was updated many times but isn’t used today. It is now considered as one of the most influential languages.

History

Algol was created by European and American computer scientists in 1958 at an IAL meeting in Zurich, Switzerland. There were 13 computer scientists that developed ALGOL. Some of these scientists are John Backus, Peter Naur, Friedrich Baue and Klaus Samelson. Alan Perlis described these meetings as “exhausting and exhilarating.” It was mostly used by research scientists in the US and Europe, and then went on to become the standard for publishing algorithms. By developing ALGOL, the computer scientists hoped that they could gain new information on programming languages. The Americans that helped create ALGOL were focused on improving the readability of the language and extended it. ALGOL 60 is still considered one of the most influential coding languages. ALGOL 68 is the latest official version but was disliked by the community.

What is it Used For?

Algol was originally developed to be used for algorithms but ended up only being used by some companies. It was mostly used by computer scientists and was frequently updated throughout the 1950’s — 1990’s but is now rarely used. It is even hard to find resources to learn ALGOL since it is such an old language.

Implementations of ALGOL

Since ALGOL was such an influential language, it had many implementations, some of which heavily influenced the coding languages we use today. Examples of these implementations are: ZMMD implementation, X1 ALGOL,, Elliott ALGOL, JOVIAL, Burroughs ALGOl, Case ALGOL and many more. The most recent was S-ALGOL which is used as a teaching language.

Pro’s and Con’s

ALGOL 60 used a lot of math symbols which are now common on devices but were not back then. This includes ×, ÷, ≤, ≥, ≠ and more. Also, at the time, only uppercase letters could be used.There were also no I/O facilities. Due to this, ALGOL was not very popular and not used in business programming. Despite all this, ALGOL was used for academic computer science in the 1980’s and was very compact. A lot of the syntax in ALGOL influenced the syntax of the popular computer languages today. ALGOL also introduced what is known as block structure, which is just a block of code that could have both data and instructions. This is helpful when building large programs with a small amount of code. It was also the first language to introduce nested functions, (a function inside a function).

Code Examples

The language used in ALGOL is similar to Python but there are some differences. Here is a program in Elliot ALGOL that prints “Hello World.”

program HiFolks;

begin

print ‘Hello world’;

End;

As you can see, it has the same “print” function but without the parenthesis. It also uses “begin” and “end” functions to start the program. Here is an example of an if statement:

if x=3 then

begin

y:=9; k:=10

end;

ALGOL uses the same “if” statement but with a “begin” and “end” Also notice the “:” before the equal sign. Here is an example of a loop in ALGOL and in python:

ALGOL — for i := 1 until n+1 do

Python — While i > 100

n += 1

i -= 1

You can clearly see some of the resemblance in Python. Most coding languages today were heavily influenced by ALGOL.

More Code Examples

ALGOL was one of the first languages to introduce block format. They also introduced nested functions, which start with “begin” and “end”. For example:

let n = readi

let x = vector 1::n of 0.0

for i = 1 to n do x(i) := readr

for i = 1 to n-1 do

for j = 1 to n-i do

if x(j) > x(j+1) do

begin

let temp = x(j)

x(j) := x(j+1)

x(j+1) := temp

end

write “The sorted numbers are ‘n’”

for i = 1 to n do write x(i), “‘n”?

You can see here that the nested function, a function within another function, starts with “begin” and ends with “end” This is similar to how python nested functions work, just without the begin/end.

Designers

The people that attended the meeting and created ALGOL are: Friedric L. Bauer, Peter Naur, Heinz Rutishauser, Klaus Samelson, Bernard Vauquois, Adriaan van Wijngaarden, MIchael Woodger, John W. Backus, Julien Green, Charles Katz, John McCarthy, Alan J. Perlis and Joseph Henry Wegstein. We have these people to thank for created what is now the most influential programming language and “the best language you have never heard of”

Takeaway

All in all, ALGOL was a great language for its time and it heavily influenced how today’s programming languages were developed. Although it was never widely used, it is still very important in the computer science world. Created by a team of Europeans and Americans, ALGOL was the first language to use block structure and was a very compact language. It is important to remember that the coding languages of today are all most likely descendants of ALGOL. It’s the “best language you have never heard of” and experienced old school developers will know of it!

--

--

Website Developer
Website Developer

No responses yet